Merge resolu entre master et testUnitsEf
continuous-integration/drone/push Build is passing Details

pull/40/head
Clement CHIEU 1 year ago
commit 31e167d19c

@ -13,10 +13,10 @@ namespace API.Controllers
[ApiController]
public class InquiriesController : Controller
{
private IInquiryDataService _inquiryDataService;
private IInquiryService<InquiryDTO> _inquiryDataService;
private readonly ILogger<InquiriesController> _logger;
public InquiriesController(IInquiryDataService inquiryDataService, ILogger<InquiriesController> logger)
public InquiriesController(IInquiryService<InquiryDTO> inquiryDataService, ILogger<InquiriesController> logger)
{
_inquiryDataService = inquiryDataService;
_logger = logger;
@ -37,7 +37,7 @@ namespace API.Controllers
return Ok(_inquiryDataService.GetInquiries(page, number, orderCriteria));
}
[HttpGet("inquiry/{id}")]
[HttpGet("inquiry/{id:int}")]
[ProducesResponseType(typeof(InquiryDTO), 200)]
[ProducesResponseType(typeof(string), 404)]
public IActionResult GetInquiryById(int id)
@ -54,7 +54,7 @@ namespace API.Controllers
}
}
[HttpGet("inquiry/{title}")]
[HttpGet("inquiry/{title:alpha}")]
[ProducesResponseType(typeof(InquiryDTO), 200)]
[ProducesResponseType(typeof(string), 404)]
public IActionResult GetInquiryByTitle(string title)
@ -95,12 +95,12 @@ namespace API.Controllers
[ProducesResponseType(typeof(string), 400)]
public IActionResult CreateInquiry([FromBody] InquiryDTO dto)
{
if (dto.Title == null || dto.Description == null || dto.Database == null || dto.InquiryTable == null)
if (dto.Title == null || dto.Description == null)
{
return BadRequest();
}
_logger.LogInformation("[INFORMATION] Une enquête a été créé : title - {title}, description - {description}, isUser - {isUser}, database - {database}, inquiryTable - {inquiryTable}", dto.Title, dto.Description, dto.IsUser, dto.Database, dto.InquiryTable);
return Created(nameof(GetInquiries), _inquiryDataService.CreateInquiry(dto.Title, dto.Description, dto.IsUser, dto.Database, dto.InquiryTable));
_logger.LogInformation("[INFORMATION] Une enquête a été créé : title - {title}, description - {description}, isUser - {isUser}", dto.Title, dto.Description, dto.IsUser);
return Created(nameof(GetInquiries), _inquiryDataService.CreateInquiry(dto.Title, dto.Description, dto.IsUser));
}
[HttpPut("inquiry/{id}")]

@ -13,11 +13,11 @@ namespace API.Controllers
[ApiController]
public class LessonsController : Controller
{
private ILessonDataService _lessonDataService;
private ILessonService<LessonDTO> _lessonDataService;
private readonly ILogger<LessonsController> _logger;
public LessonsController(ILessonDataService lessonDataService, ILogger<LessonsController> logger)
public LessonsController(ILessonService<LessonDTO> lessonDataService, ILogger<LessonsController> logger)
{
_lessonDataService = lessonDataService;
_logger = logger;
@ -38,7 +38,7 @@ namespace API.Controllers
return Ok(_lessonDataService.GetLessons(page, number, orderCriteria));
}
[HttpGet("lesson/{id}")]
[HttpGet("lesson/{id:int}")]
[ProducesResponseType(typeof(LessonDTO), 200)]
[ProducesResponseType(typeof(string), 404)]
public IActionResult GetLessonById(int id)
@ -55,7 +55,7 @@ namespace API.Controllers
}
}
[HttpGet("lesson/{title}")]
[HttpGet("lesson/{title:alpha}")]
[ProducesResponseType(typeof(LessonDTO), 200)]
[ProducesResponseType(typeof(string), 404)]
public IActionResult GetLessonByTitle(string title)

@ -13,11 +13,11 @@ namespace API.Controllers
[ApiController]
public class ParagraphsController : Controller
{
private IParagraphDataService _paragraphDataService;
private IParagraphService<ParagraphDTO> _paragraphDataService;
private readonly ILogger<ParagraphsController> _logger;
public ParagraphsController(IParagraphDataService paragraphDataService, ILogger<ParagraphsController> logger)
public ParagraphsController(IParagraphService<ParagraphDTO> paragraphDataService, ILogger<ParagraphsController> logger)
{
_paragraphDataService = paragraphDataService;
_logger = logger;
@ -38,7 +38,7 @@ namespace API.Controllers
return Ok(_paragraphDataService.GetParagraphs(page, number, orderCriteria));
}
[HttpGet("paragraph/{id}")]
[HttpGet("paragraph/{id:int}")]
[ProducesResponseType(typeof(ParagraphDTO), 200)]
[ProducesResponseType(typeof(string), 404)]
public IActionResult GetParagraphById(int id)
@ -54,7 +54,7 @@ namespace API.Controllers
}
}
[HttpGet("paragraph/{title}")]
[HttpGet("paragraph/{title:alpha}")]
[ProducesResponseType(typeof(ParagraphDTO), 200)]
[ProducesResponseType(typeof(string), 404)]
public IActionResult GetParagraphByTitle(string title)

@ -13,11 +13,11 @@ namespace API.Controllers
[ApiController]
public class SuccessesController : Controller
{
private ISuccessDataService _successDataService;
private ISuccessService<SuccessDTO> _successDataService;
private readonly ILogger<SuccessesController> _logger;
public SuccessesController(ISuccessDataService successDataService, ILogger<SuccessesController> logger)
public SuccessesController(ISuccessService<SuccessDTO> successDataService, ILogger<SuccessesController> logger)
{
_successDataService = successDataService;
_logger = logger;
@ -38,7 +38,7 @@ namespace API.Controllers
return Ok(_successDataService.GetSuccesses(page, number, orderCriteria));
}
[HttpGet("success/{id}")]
[HttpGet("success/user/{id:int}")]
[ProducesResponseType(typeof(SuccessDTO), 200)]
[ProducesResponseType(typeof(string), 404)]
public IActionResult GetSuccessByUserId(int userId)
@ -54,7 +54,7 @@ namespace API.Controllers
}
}
[HttpGet("success/{inquiryId}")]
[HttpGet("success/inquiry/{inquiryId:int}")]
[ProducesResponseType(typeof(SuccessDTO), 200)]
[ProducesResponseType(typeof(string), 404)]
public IActionResult GetSuccessByInquiryId(int inquiryId)

@ -11,7 +11,7 @@ namespace API.Controllers
[Authorize]
[ApiVersion("1.0")]
[ApiController]
public class UsersController(ILogger<UsersController> logger, IUserDataService userService) : ControllerBase
public class UsersController(ILogger<UsersController> logger, IUserService<UserDTO> userService) : ControllerBase
{
[HttpGet("users/{page}/{number}")]
[ProducesResponseType(typeof(UserDTO), 200)]
@ -29,7 +29,7 @@ namespace API.Controllers
return Ok(users);
}
[HttpGet("user/{id}")]
[HttpGet("user/{id:int}")]
[ProducesResponseType(typeof(UserDTO), 200)]
[ProducesResponseType(typeof(string), 404)]
public IActionResult GetUserById(int id)
@ -46,7 +46,7 @@ namespace API.Controllers
}
}
[HttpGet("user/{username}")]
[HttpGet("user/{username:alpha}")]
[ProducesResponseType(typeof(UserDTO), 200)]
[ProducesResponseType(typeof(string), 404)]
public IActionResult GetUserByUsername(string username)

@ -6,9 +6,9 @@ namespace API.Service;
public class InquiryDataServiceApi(IInquiryService<InquiryEntity> inquiryService) : IInquiryService<InquiryEntity>
{
public InquiryEntity CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId)
public InquiryEntity CreateInquiry(string title, string description, bool isUser)
{
return inquiryService.CreateInquiry(title, description, isUser, tableId, solutionId);
return inquiryService.CreateInquiry(title, description, isUser);
}
public bool DeleteInquiry(int id)

@ -8,7 +8,7 @@ namespace DbDataManager.Service;
public class InquiryDataService : IInquiryService<InquiryEntity>
{
private UserDbContext DbContext { get; set; }
private UserDbContext DbContext { get; }
public InquiryDataService(UserDbContext context)
{
@ -68,23 +68,19 @@ public class InquiryDataService : IInquiryService<InquiryEntity>
updatingInquiry.Title = inquiry.Title;
updatingInquiry.Description = inquiry.Description;
updatingInquiry.IsUser = inquiry.IsUser;
updatingInquiry.IdSolution = inquiry.IdSolution;
updatingInquiry.IdDatabase = inquiry.IdDatabase;
// Permet d'indiquer en Db que l'entité a été modifiée.
DbContext.Entry(updatingInquiry).State = EntityState.Modified;
DbContext.SaveChangesAsync();
return updatingInquiry;
}
public InquiryEntity CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId)
public InquiryEntity CreateInquiry(string title, string description, bool isUser)
{
var newInquiryEntity = new InquiryEntity()
{
Title = title,
Description = description,
IsUser = isUser,
IdDatabase = tableId,
IdSolution = solutionId,
};
DbContext.Inquiries.Add(newInquiryEntity);
DbContext.SaveChangesAsync();

@ -10,25 +10,18 @@ public class InquiryDTO
public bool IsUser { get; set; }
public int Database { get; set; }
public int InquiryTable { get; set; }
public InquiryDTO(int id, string title, string description, bool isUser, int database, int inquiryTable)
public InquiryDTO(int id, string title, string description, bool isUser)
{
Id = id;
Title = title;
Description = description;
IsUser = isUser;
Database = database;
InquiryTable = inquiryTable;
}
public InquiryDTO(string title, string description, bool isUser, int database, int inquiryTable)
public InquiryDTO(string title, string description, bool isUser)
{
Title = title;
Description = description;
IsUser = isUser;
Database = database;
InquiryTable = inquiryTable;
}
}

@ -1,52 +1,37 @@
namespace Entities;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Entities;
public class InquiryEntity
{
public int Id { get; }
[Key] public int Id { get; }
public string Title { get; set; }
public string Description { get; set; }
public bool IsUser { get; set; }
public int IdDatabase { get; set; }
public InquiryTableEntity Database { get; set; }
public int IdSolution { get; set; }
public SolutionEntity Solution { get; set; }
public InquiryEntity() {}
public InquiryEntity(int id)
public InquiryEntity()
{
Id = id;
}
public InquiryEntity(int id, string title, string description, bool isUser, InquiryTableEntity database,
SolutionEntity inquiryTable)
public InquiryEntity(int id)
{
Id = id;
Title = title;
Description = description;
IsUser = isUser;
Database = database;
Solution = inquiryTable;
}
public InquiryEntity(string title, string description, bool isUser, InquiryTableEntity database,
SolutionEntity inquiryTable)
public InquiryEntity(string title, string description, bool isUser)
{
Id = 0;
Title = title;
Description = description;
IsUser = isUser;
Database = database;
Solution = inquiryTable;
}
public InquiryEntity(int id, string title, string description, bool isUser, int database,
int inquiryTable)
public InquiryEntity(int id, string title, string description, bool isUser)
{
Id = id;
Title = title;
Description = description;
IsUser = isUser;
IdDatabase = database;
IdSolution = inquiryTable;
}
}

@ -6,18 +6,14 @@ public class Inquiry
public string Title { get; set; }
public string Description { get; set; }
public bool IsUser { get; set; }
public int Database { get; set; }
public int InquiryTable { get; set; }
public Inquiry() { }
public Inquiry(int id, string title, string description, bool isUser, int database, int inquiryTable)
public Inquiry(int id, string title, string description, bool isUser)
{
Id = id;
Title = title;
Description = description;
IsUser = isUser;
Database = database;
InquiryTable = inquiryTable;
}
}

@ -10,5 +10,5 @@ public interface IInquiryDataService : IInquiryService<InquiryDTO>
public InquiryDTO GetInquiryByTitle(string title);
public bool DeleteInquiry(int id);
public InquiryDTO UpdateInquiry(int id, InquiryDTO inquiry);
public InquiryDTO CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId);
public InquiryDTO CreateInquiry(string title, string description, bool isUser);
}

@ -7,7 +7,7 @@ public interface IInquiryService<TInquiry>
public IEnumerable<TInquiry> GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria);
public TInquiry GetInquiryById(int id);
public TInquiry GetInquiryByTitle(string title);
public bool DeleteInquiry(int id);
public TInquiry UpdateInquiry(int id, TInquiry inquiry);
public TInquiry CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId);
public bool DeleteInquiry(int id);
public TInquiry UpdateInquiry(int id, TInquiry inquiry);
public TInquiry CreateInquiry(string title, string description, bool isUser);
}

@ -16,7 +16,7 @@ public class InquiryDataService : IInquiryDataService
DbContext = context;
context.Database.EnsureCreated();
}
public IEnumerable<InquiryDTO> GetInquiries(int page, int number, InquiryOrderCriteria orderCriteria)
{
IQueryable<InquiryEntity> query = DbContext.Inquiries.Skip((page - 1) * number).Take(number);
@ -36,6 +36,7 @@ public class InquiryDataService : IInquiryDataService
default:
break;
}
var inquiries = query.ToList();
return inquiries.Select(s => s.FromEntityToDTO());
}
@ -47,6 +48,7 @@ public class InquiryDataService : IInquiryDataService
{
throw new ArgumentException("Impossible de trouver l'enquête", nameof(id));
}
return inquiryEntity.FromEntityToDTO();
}
@ -57,12 +59,13 @@ public class InquiryDataService : IInquiryDataService
{
throw new ArgumentException("Impossible de trouver l'enquête", nameof(title));
}
return inquiryEntity.FromEntityToDTO();
}
public InquiryDTO CreateInquiry(string title, string description, bool isUser, int tableId, int solutionId)
public InquiryDTO CreateInquiry(string title, string description, bool isUser)
{
var newInquiryEntity = new InquiryDTO(title, description, isUser, tableId, solutionId);
var newInquiryEntity = new InquiryDTO(title, description, isUser);
DbContext.Inquiries.Add(newInquiryEntity.FromDTOToEntity());
DbContext.SaveChangesAsync();
return newInquiryEntity;
@ -75,10 +78,12 @@ public class InquiryDataService : IInquiryDataService
{
return false;
}
DbContext.Inquiries.Remove(inquiryEntity);
DbContext.SaveChangesAsync();
return true;
}
public InquiryDTO UpdateInquiry(int id, InquiryDTO inquiry)
{
var updatingInquiry = DbContext.Inquiries.FirstOrDefault(u => u.Id == id);
@ -90,9 +95,7 @@ public class InquiryDataService : IInquiryDataService
updatingInquiry.Title = inquiry.Title;
updatingInquiry.Description = inquiry.Description;
updatingInquiry.IsUser = inquiry.IsUser;
updatingInquiry.IdDatabase = inquiry.Database;
updatingInquiry.IdSolution = inquiry.InquiryTable;
DbContext.SaveChangesAsync();
return updatingInquiry.FromEntityToDTO();
}
}
}

@ -6,39 +6,34 @@ namespace Shared.Mapper;
public static class InquiryMapper
{
public static Inquiry FromDTOToModel(this InquiryDTO InqDto)
public static Inquiry FromDTOToModel(this InquiryDTO inqDto)
{
return new Inquiry(InqDto.Id, InqDto.Title, InqDto.Description, InqDto.IsUser, InqDto.Database,
InqDto.InquiryTable);
return new Inquiry(inqDto.Id, inqDto.Title, inqDto.Description, inqDto.IsUser);
}
public static Inquiry FromEntityToModel(this InquiryEntity InqEntity)
public static Inquiry FromEntityToModel(this InquiryEntity inqEntity)
{
return new Inquiry(InqEntity.Id, InqEntity.Title, InqEntity.Description, InqEntity.IsUser,
InqEntity.Database.OwnerId, InqEntity.Solution.OwnerId);
return new Inquiry(inqEntity.Id, inqEntity.Title, inqEntity.Description, inqEntity.IsUser);
}
public static InquiryEntity FromModelToEntity(this Inquiry Inq)
public static InquiryEntity FromModelToEntity(this Inquiry inq)
{
return new InquiryEntity(Inq.Id, Inq.Title, Inq.Description, Inq.IsUser, new InquiryTableEntity(Inq.Database),
new SolutionEntity(Inq.InquiryTable));
return new InquiryEntity(inq.Id, inq.Title, inq.Description, inq.IsUser);
}
public static InquiryEntity FromDTOToEntity(this InquiryDTO InqDto)
public static InquiryEntity FromDTOToEntity(this InquiryDTO inqDto)
{
return new InquiryEntity(InqDto.Id, InqDto.Title, InqDto.Description, InqDto.IsUser,
new InquiryTableEntity(InqDto.Database), new SolutionEntity(InqDto.InquiryTable));
return new InquiryEntity(inqDto.Id, inqDto.Title, inqDto.Description, inqDto.IsUser);
}
public static InquiryDTO FromModelToDTO(this Inquiry Inq)
public static InquiryDTO FromModelToDTO(this Inquiry inq)
{
return new InquiryDTO(Inq.Id, Inq.Title, Inq.Description, Inq.IsUser, Inq.Database, Inq.InquiryTable);
return new InquiryDTO(inq.Id, inq.Title, inq.Description, inq.IsUser);
}
public static InquiryDTO FromEntityToDTO(this InquiryEntity InqEntity)
public static InquiryDTO FromEntityToDTO(this InquiryEntity inqEntity)
{
return new InquiryDTO(InqEntity.Id, InqEntity.Title, InqEntity.Description, InqEntity.IsUser,
InqEntity.Database.OwnerId, InqEntity.Solution.OwnerId);
return new InquiryDTO(inqEntity.Id, inqEntity.Title, inqEntity.Description, inqEntity.IsUser);
}
}

@ -6,29 +6,29 @@ namespace Shared.Mapper;
public static class InquiryTableMapper
{
public static InquiryTable FromDTOToModel(this InquiryTableDTO InqTDto)
public static InquiryTable FromDTOToModel(this InquiryTableDTO inqTDto)
{
return new InquiryTable(InqTDto.OwnerId, InqTDto.ConnectionInfo, InqTDto.DatabaseName);
return new InquiryTable(inqTDto.OwnerId, inqTDto.ConnectionInfo, inqTDto.DatabaseName);
}
public static InquiryTable FromEntityToModel(this InquiryTableEntity InqTEntity)
public static InquiryTable FromEntityToModel(this InquiryTableEntity inqTEntity)
{
return new InquiryTable(InqTEntity.OwnerId, InqTEntity.ConnectionInfo, InqTEntity.DatabaseName);
return new InquiryTable(inqTEntity.OwnerId, inqTEntity.ConnectionInfo, inqTEntity.DatabaseName);
}
public static InquiryTableDTO FromModelToDTO(this InquiryTable InqT)
public static InquiryTableDTO FromModelToDTO(this InquiryTable inqT)
{
return new InquiryTableDTO(InqT.OwnerId, InqT.DatabaseName, InqT.ConnectionInfo);
return new InquiryTableDTO(inqT.OwnerId, inqT.DatabaseName, inqT.ConnectionInfo);
}
public static InquiryTableDTO FromEntityToDTO(this InquiryTableEntity InqTEntity)
public static InquiryTableDTO FromEntityToDTO(this InquiryTableEntity inqTEntity)
{
return new InquiryTableDTO(InqTEntity.OwnerId, InqTEntity.DatabaseName, InqTEntity.ConnectionInfo);
return new InquiryTableDTO(inqTEntity.OwnerId, inqTEntity.DatabaseName, inqTEntity.ConnectionInfo);
}
public static InquiryTableEntity FromModelToEntity(this InquiryTable InqT)
public static InquiryTableEntity FromModelToEntity(this InquiryTable inqT)
{
return new InquiryTableEntity(InqT.OwnerId, InqT.DatabaseName, InqT.ConnectionInfo);
return new InquiryTableEntity(inqT.OwnerId, inqT.DatabaseName, inqT.ConnectionInfo);
}
public static InquiryTableEntity FromDTOToEntity(this InquiryTableDTO dto)

@ -47,12 +47,7 @@ public class StubbedContext : UserDbContext
prf: KeyDerivationPrf.HMACSHA256,
iterationCount: 100000,
numBytesRequested: 256 / 8)), "Victor.GABORIT@etu.uca.fr", true));
modelBuilder.Entity<InquiryEntity>().HasData(
new InquiryEntity(1, "L'enquête de la carotte", "La description de l'inquiry1", true, 1, 1),
new InquiryEntity(2, "L'enquête sur les orang outan", "The new description", false, 2, 2),
new InquiryEntity(3, "L'enquête sur les parapluies", "Il pleuvait", false, 3, 3));
modelBuilder.Entity<InquiryTableEntity>().HasData(
new InquiryTableEntity(1, "Inquiry1",
"Server=localhost;Database=Inquiry1;Trusted_Connection=True;MultipleActiveResultSets=true"),
@ -65,5 +60,10 @@ public class StubbedContext : UserDbContext
new SolutionEntity(1, "Maxime", "Sapountzis", "La cuisine", "Le couteau", "Parce que c'est Maxime"),
new SolutionEntity(2, "Johnny", "Ratton", "La cuisine", "Le couteau", "Parce que il est ra****"),
new SolutionEntity(3, "Erwan", "Menager", "La salle de bain", "L'arachide", "Parce que c'est Erwan"));
modelBuilder.Entity<InquiryEntity>().HasData(
new InquiryEntity(1, "L'enquête de la carotte", "La description de l'inquiry1", true),
new InquiryEntity(2, "L'enquête sur les orang outan", "The new description", false),
new InquiryEntity(3, "L'enquête sur les parapluies", "Il pleuvait", false));
}
}

@ -49,8 +49,8 @@ using (var context = new UserDbContext(options))
{
Console.WriteLine(item);
}
}
}
void PrintParagraphs()
{
Console.WriteLine();
@ -59,8 +59,8 @@ using (var context = new UserDbContext(options))
{
Console.WriteLine(item);
}
}
}
void PrintLessons()
{
Console.WriteLine();
@ -69,8 +69,8 @@ using (var context = new UserDbContext(options))
{
Console.WriteLine(item);
}
}
}
void PrintSuccesses()
{
Console.WriteLine();
@ -106,8 +106,8 @@ using (var context = new UserDbContext(options))
return;
}
Console.WriteLine(inquiry.Value as InquiryDTO);
}
}
void SearchParagraphByTitle()
{
Console.WriteLine("\nVeuillez saisir le titre du paragraphe recherché : ");
@ -120,8 +120,8 @@ using (var context = new UserDbContext(options))
}
Console.WriteLine(paragraph.Value as ParagraphDTO);
}
}
void SearchLessonByTitle()
{
Console.WriteLine("\nVeuillez saisir le titre de la leçon recherchée : ");
@ -134,8 +134,8 @@ using (var context = new UserDbContext(options))
}
Console.WriteLine(lesson.Value as LessonDTO);
}
}
void SearchSuccessByUserId()
{
Console.WriteLine("\nVeuillez saisir l'identifiant de l'utilisateur du succès recherché : ");
@ -175,8 +175,8 @@ using (var context = new UserDbContext(options))
return;
}
Console.WriteLine(inquiry.Value as InquiryDTO);
}
}
void SearchParagraphById()
{
Console.WriteLine("\nVeuillez saisir l'identifiant du paragraphe recherché : ");
@ -189,8 +189,8 @@ using (var context = new UserDbContext(options))
}
Console.WriteLine(paragraph.Value as ParagraphDTO);
}
}
void SearchSuccessByInquiryId()
{
Console.WriteLine("\nVeuillez saisir l'identifiant de l'enquête du succès recherché : ");
@ -203,8 +203,8 @@ using (var context = new UserDbContext(options))
}
Console.WriteLine(success.Value as SuccessDTO);
}
}
void SearchLessonById()
{
Console.WriteLine("\nVeuillez saisir l'identifiant de la leçon recherchée : ");
@ -228,10 +228,10 @@ using (var context = new UserDbContext(options))
Console.WriteLine("Veuillez saisir un mot de passe :");
var mdp = Console.ReadLine();
var res = userController.CreateUser(new UserDTO(username, mdp, email, false));
if (res.GetType() == typeof(CreatedResult))
if (res.GetType() == typeof(CreatedResult))
{
Console.WriteLine("\nUtilisateur créé avec succès");
}
}
else
{
Console.WriteLine("\nErreur lors de la création de l'utilisateur !");
@ -251,7 +251,7 @@ using (var context = new UserDbContext(options))
var database = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Veuillez saisir l'id de la solution :");
var solution = Convert.ToInt32(Console.ReadLine());
var res = inquiryController.CreateInquiry(new InquiryDTO(title, description, false, database, solution));
var res = inquiryController.CreateInquiry(new InquiryDTO(title, description, false));
if (res.GetType() == typeof(CreatedResult))
{
Console.WriteLine("\nEnquête créée avec succès");
@ -260,8 +260,8 @@ using (var context = new UserDbContext(options))
{
Console.WriteLine("\nErreur lors de la création de l'enquête !");
}
}
}
void AddParagraph()
{
Console.WriteLine("Veuillez saisir le titre :");
@ -277,17 +277,17 @@ using (var context = new UserDbContext(options))
Console.WriteLine("Veuillez saisir l'id de la leçon :");
var lesson = Convert.ToInt32(Console.ReadLine());
var res = paragraphController.CreateParagraph(new ParagraphDTO(title, content, info, query, comment, lesson));
if (res.GetType() == typeof(CreatedResult))
if (res.GetType() == typeof(CreatedResult))
{
Console.WriteLine("\nParagraphe créé avec succès");
}
}
else
{
Console.WriteLine("\nErreur lors de la création du paragraphe !");
}
}
}
void AddLesson()
{
Console.WriteLine("Veuillez saisir le titre :");
@ -295,17 +295,17 @@ using (var context = new UserDbContext(options))
Console.WriteLine("Veuillez saisir votre nom :");
var lastPublisher = Console.ReadLine();
var res = lessonController.CreateLesson(new LessonDTO(title, lastPublisher, DateOnly.FromDateTime(DateTime.Now)));
if (res.GetType() == typeof(CreatedResult))
if (res.GetType() == typeof(CreatedResult))
{
Console.WriteLine("\nLeçon créée avec succès");
}
}
else
{
Console.WriteLine("\nErreur lors de la création de la leçon !");
}
}
}
void AddSuccess()
{
Console.WriteLine("Veuillez saisir l'identifiant de l'utilisateur lié au succès :");
@ -315,10 +315,10 @@ using (var context = new UserDbContext(options))
Console.WriteLine("Veuillez indiquer si l'enquête a été complété (true/false) :");
var isFinished = Console.ReadLine();
var res = successController.CreateSuccess(new SuccessDTO(int.Parse(userId), int.Parse(inquiryId), bool.Parse(isFinished)));
if (res.GetType() == typeof(CreatedResult))
if (res.GetType() == typeof(CreatedResult))
{
Console.WriteLine("\nSuccès créé avec succès");
}
}
else
{
Console.WriteLine("\nErreur lors de la création du succès !");
@ -331,10 +331,10 @@ using (var context = new UserDbContext(options))
Console.WriteLine("Quel est l'identifiant de l'utilisateur à mettre à jour ?");
var id = int.Parse(Console.ReadLine());
var res = (userController.GetUserById(id));
if (res.GetType() == typeof(OkObjectResult))
if (res.GetType() == typeof(OkObjectResult))
{
var user = (res as OkObjectResult).Value as UserDTO;
if (user == null)
if (user == null)
{
Console.WriteLine("Erreur, un problème est survenu");
return;
@ -350,29 +350,29 @@ using (var context = new UserDbContext(options))
if (retour.GetType() == typeof(OkObjectResult))
{
Console.WriteLine("Mise à jour effectué avec succès !");
}
}
else
{
Console.WriteLine("Une erreur est survenue lors de la mise à jour.");
}
}
}
else
}
else
{
Console.WriteLine("Une erreur est survenue lors de la mise à jour !");
}
}
}
void UpdateInquiry()
{
Console.WriteLine("Quel est l'identifiant de l'enquête à mettre à jour ?");
var id = int.Parse(Console.ReadLine());
var res = (inquiryController.GetInquiryById(id));
if (res.GetType() == typeof(OkObjectResult))
if (res.GetType() == typeof(OkObjectResult))
{
var user = (res as OkObjectResult).Value as InquiryDTO;
if (user == null)
if (user == null)
{
Console.WriteLine("Erreur, un problème est survenu");
return;
@ -386,37 +386,37 @@ using (var context = new UserDbContext(options))
var description = Console.ReadLine();
Console.WriteLine("Veuillez indiquer si l'enquête est accessible aux visiteurs (0/1) :");
var isUser = Console.ReadLine();
Console.WriteLine("Veuillez saisir un commentaire :");
Console.WriteLine("Veuillez saisir un commentaire :");
var database = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Veuillez saisir un commentaire :");
Console.WriteLine("Veuillez saisir un commentaire :");
var inquiryTable = Convert.ToInt32(Console.ReadLine());
var retour = inquiryController.UpdateInquiry(id, new InquiryDTO(id, title, description, bool.Parse(isUser), database, inquiryTable));
var retour = inquiryController.UpdateInquiry(id, new InquiryDTO(id, title, description, bool.Parse(isUser)));
if (retour.GetType() == typeof(OkObjectResult))
{
Console.WriteLine("Mise à jour effectué avec succès !");
}
}
else
{
Console.WriteLine("Une erreur est survenue lors de la mise à jour.");
}
}
}
else
}
else
{
Console.WriteLine("Une erreur est survenue lors de la mise à jour !");
}
}
}
void UpdateParagraph()
{
Console.WriteLine("Quel est l'identifiant du paragraphe à mettre à jour ?");
var id = int.Parse(Console.ReadLine());
var res = (paragraphController.GetParagraphById(id));
if (res.GetType() == typeof(OkObjectResult))
if (res.GetType() == typeof(OkObjectResult))
{
var paragraph = (res as OkObjectResult).Value as ParagraphDTO;
if (paragraph == null)
if (paragraph == null)
{
Console.WriteLine("Erreur, un problème est survenu");
return;
@ -434,35 +434,35 @@ using (var context = new UserDbContext(options))
var query = Console.ReadLine();
Console.WriteLine("Veuillez saisir un commentaire :");
var comment = Console.ReadLine();
Console.WriteLine("Veuillez saisir l'id de la leçon :");
Console.WriteLine("Veuillez saisir l'id de la leçon :");
var lesson = Convert.ToInt32(Console.ReadLine());
var retour = paragraphController.UpdateParagraph(id, new ParagraphDTO(id, title, content, info, query, comment, lesson));
if (retour.GetType() == typeof(OkObjectResult))
{
Console.WriteLine("Mise à jour effectué avec succès !");
}
}
else
{
Console.WriteLine("Une erreur est survenue lors de la mise à jour.");
}
}
}
else
}
else
{
Console.WriteLine("Une erreur est survenue lors de la mise à jour !");
}
}
}
void UpdateLesson()
{
Console.WriteLine("Quel est l'identifiant de la leçon à mettre à jour ?");
var id = int.Parse(Console.ReadLine());
var res = (lessonController.GetLessonById(id));
if (res.GetType() == typeof(OkObjectResult))
if (res.GetType() == typeof(OkObjectResult))
{
var lesson = (res as OkObjectResult).Value as LessonDTO;
if (lesson == null)
if (lesson == null)
{
Console.WriteLine("Erreur, un problème est survenu");
return;
@ -478,29 +478,29 @@ using (var context = new UserDbContext(options))
if (retour.GetType() == typeof(OkObjectResult))
{
Console.WriteLine("Mise à jour effectué avec succès !");
}
}
else
{
Console.WriteLine("Une erreur est survenue lors de la mise à jour.");
}
}
}
else
}
else
{
Console.WriteLine("Une erreur est survenue lors de la mise à jour !");
}
}
}
void UpdateSuccess()
{
Console.WriteLine("Quel est l'identifiant de l'utilisateur lié au succès à mettre à jour ?");
var id = int.Parse(Console.ReadLine());
var res = (successController.GetSuccessByUserId(id));
if (res.GetType() == typeof(OkObjectResult))
if (res.GetType() == typeof(OkObjectResult))
{
var lesson = (res as OkObjectResult).Value as SuccessDTO;
if (lesson == null)
if (lesson == null)
{
Console.WriteLine("Erreur, un problème est survenu");
return;
@ -518,14 +518,14 @@ using (var context = new UserDbContext(options))
if (retour.GetType() == typeof(OkObjectResult))
{
Console.WriteLine("Mise à jour effectué avec succès !");
}
}
else
{
Console.WriteLine("Une erreur est survenue lors de la mise à jour.");
}
}
}
else
}
else
{
Console.WriteLine("Une erreur est survenue lors de la mise à jour !");
}
@ -577,8 +577,8 @@ using (var context = new UserDbContext(options))
Console.WriteLine("Erreur lors de la suppression !");
}
}
}
void DeleteLesson()
{
Console.WriteLine("Quel est l'identifiant de la leçon à supprimer ?");
@ -593,8 +593,8 @@ using (var context = new UserDbContext(options))
Console.WriteLine("Erreur lors de la suppression !");
}
}
}
void DeleteSuccess()
{
Console.WriteLine("Quel est l'identifiant de l'utilisateur lié au succès à supprimer ?");
@ -640,8 +640,8 @@ using (var context = new UserDbContext(options))
Console.WriteLine("| 6 - Supprimer une enquête |");
Console.WriteLine("| q - Quitter |");
Console.WriteLine("|------------------------------------------------|");
}
}
void MenuParagraphs()
{
Console.WriteLine("|------------------------------------------------|");
@ -655,8 +655,8 @@ using (var context = new UserDbContext(options))
Console.WriteLine("| 6 - Supprimer un paragraphe |");
Console.WriteLine("| q - Quitter |");
Console.WriteLine("|------------------------------------------------|");
}
}
void MenuLessons()
{
Console.WriteLine("|------------------------------------------------|");
@ -670,8 +670,8 @@ using (var context = new UserDbContext(options))
Console.WriteLine("| 6 - Supprimer une leçon |");
Console.WriteLine("| q - Quitter |");
Console.WriteLine("|------------------------------------------------|");
}
}
void MenuSuccesses()
{
Console.WriteLine("|------------------------------------------------|");
@ -695,7 +695,7 @@ using (var context = new UserDbContext(options))
Console.WriteLine("\nSaisie :");
var saisie = Console.ReadLine();
while (saisie != "q")
while (saisie != "q")
{
switch (saisie)
{
@ -772,8 +772,8 @@ using (var context = new UserDbContext(options))
else
{
var users = res as IEnumerable<UserDTO>;
if (users == null)
{
if (users == null)
{
Console.WriteLine("\nErreur, les ustilisateurs n'ont pas été trouvés !");
}
else

@ -164,7 +164,7 @@ using (var db = new StubbedContext(options))
Console.WriteLine(sol.MurdererFirstName);
var inquirySolution = await inquiries.FirstOrDefaultAsync(i => i.Title == "L'enquête sur les orang outan");
var i = inquirySolution.Solution;
var i = inquirySolution.Id;
foreach (var pptt in typeof(SolutionEntity).GetProperties()
.Where(p => p.CanWrite && p.Name != nameof(SolutionEntity.Owner)))
{
@ -176,9 +176,7 @@ using (var db = new StubbedContext(options))
var newInquiry = new InquiryEntity(
"La nouvelle enquete",
"La description de la nouvelle enquete",
true,
null,
null);
true);
if (!inquiries.Any(inquiry => inquiry.Title == newInquiry.Title))
{
inquiries.Add(newInquiry);

@ -1,6 +1,6 @@
using Entities;
namespace TestEF;
namespace TestEF.EntitiesTests;
public class TestInquiryEntity
{
@ -8,8 +8,6 @@ public class TestInquiryEntity
private const string _title = "Title";
private const string _description = "_description";
private const bool _isUser = true;
private static SolutionEntity _solution = new SolutionEntity();
private static InquiryTableEntity _inquiryTable = new InquiryTableEntity();
[Fact]
public void TestDefaultConstructor()
@ -18,8 +16,6 @@ public class TestInquiryEntity
Assert.Equal(0, inquiry.Id);
Assert.Null(inquiry.Title);
Assert.Null(inquiry.Description);
Assert.Null(inquiry.Solution);
Assert.Null(inquiry.Database);
Assert.False(inquiry.IsUser);
}
@ -30,32 +26,26 @@ public class TestInquiryEntity
Assert.Equal(_id, inquiry.Id);
Assert.Null(inquiry.Title);
Assert.Null(inquiry.Description);
Assert.Null(inquiry.Solution);
Assert.Null(inquiry.Database);
Assert.False(inquiry.IsUser);
}
[Fact]
public void TestConstructorWithoutId()
{
InquiryEntity inquiry = new InquiryEntity(_title,_description,_isUser,_inquiryTable,_solution);
InquiryEntity inquiry = new InquiryEntity(_title,_description,_isUser);
Assert.Equal(0, inquiry.Id);
Assert.Equal(_title,inquiry.Title);
Assert.Equal(_description,inquiry.Description);
Assert.Equal(_solution,inquiry.Solution);
Assert.Equal(_inquiryTable,inquiry.Database);
Assert.True(inquiry.IsUser);
}
[Fact]
public void TestConstructorWithAllAttributes()
{
InquiryEntity inquiry = new InquiryEntity(_id,_title,_description,_isUser,_inquiryTable,_solution);
InquiryEntity inquiry = new InquiryEntity(_id,_title,_description,_isUser);
Assert.Equal(_id, inquiry.Id);
Assert.Equal(_title,inquiry.Title);
Assert.Equal(_description,inquiry.Description);
Assert.Equal(_solution,inquiry.Solution);
Assert.Equal(_inquiryTable,inquiry.Database);
Assert.True(inquiry.IsUser);
}
}
Loading…
Cancel
Save