testConsoleEf #31

Merged
erwan.menager merged 6 commits from testConsoleEf into master 1 year ago

@ -30,7 +30,6 @@ namespace DbContextLib
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<ContentLessonEntity>().HasKey(c => c.LessonId);
modelBuilder.Entity<ContentLessonEntity>().HasKey(c => c.LessonPartId);
modelBuilder.Entity<SuccessEntity>().HasKey(s => s.UserId);
modelBuilder.Entity<SuccessEntity>().HasKey(s => s.InquiryId);
modelBuilder.Entity<InquiryEntity>().HasKey(s => s.Id);

@ -1,14 +1,13 @@
namespace Dto
namespace Dto;
public class BlackListDTO
{
public class BlackListDTO
{
public string Email { get; set; }
public DateOnly ExpirationDate { get; set; }
public string Email { get; set; }
public DateOnly ExpirationDate { get; set; }
public BlackListDTO(string email, DateOnly expirationDate)
{
Email = email;
ExpirationDate = expirationDate;
}
public BlackListDTO(string email, DateOnly expirationDate)
{
Email = email;
ExpirationDate = expirationDate;
}
}

@ -1,14 +1,17 @@
namespace Dto
namespace Dto;
public abstract class ContentLessonDTO
{
public class ContentLessonDTO
{
public int LessonId { get; set; }
public int LessonPartId { get; set; }
public int Id { get; set; }
public string ContentContent { get; set; }
public string ContentTitle { get; set; }
public int LessonId { get; set; }
public ContentLessonDTO(int lessonId, int lessonPartId)
{
LessonId = lessonId;
LessonPartId = lessonPartId;
}
protected ContentLessonDTO(int id, string contentContent, string contentTitle, int lessonId)
{
Id = id;
ContentContent = contentContent;
ContentTitle = contentTitle;
LessonId = lessonId;
}
}

@ -1,26 +1,25 @@
namespace Dto
namespace Dto;
public class InquiryDTO
{
public class InquiryDTO
{
public int Id { get;}
public int Id { get;}
public string Title { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Description { get; set; }
public bool IsUser { get; set; }
public bool IsUser { get; set; }
public int Database { get; set; }
public int InquiryTable { 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)
{
Id = id;
Title = title;
Description = description;
IsUser = isUser;
Database = database;
InquiryTable = inquiryTable;
}
public InquiryDTO(int id, string title, string description, bool isUser, int database, int inquiryTable)
{
Id = id;
Title = title;
Description = description;
IsUser = isUser;
Database = database;
InquiryTable = inquiryTable;
}
}

@ -1,19 +1,18 @@
namespace Dto
namespace Dto;
public class InquiryTableDTO
{
public class InquiryTableDTO
{
public int OwnerId { get; set; }
public string DatabaseName { get; set; }
public string ConnectionInfo { get; set; }
public int OwnerId { get; set; }
public string DatabaseName { get; set; }
public string ConnectionInfo { get; set; }
public InquiryTableDTO() { }
public InquiryTableDTO() { }
public InquiryTableDTO(int ownerId, string databaseName, string connectionInfo)
{
OwnerId = ownerId;
DatabaseName = databaseName;
ConnectionInfo = connectionInfo;
}
public InquiryTableDTO(int ownerId, string databaseName, string connectionInfo)
{
OwnerId = ownerId;
DatabaseName = databaseName;
ConnectionInfo = connectionInfo;
}
}

@ -1,26 +1,26 @@
namespace Dto
namespace Dto;
public class LessonDTO
{
public class LessonDTO
{
public int Id { get; }
public string? Title { get; set; }
public string? LastPublisher { get; set; }
public DateOnly? LastEdit { get; set; }
public int Id { get; }
public string? Title { get; set; }
public string? LastPublisher { get; set; }
public DateOnly? LastEdit { get; set; }
public ICollection<ContentLessonDTO> Content { get; set; } = new List<ContentLessonDTO>();
public LessonDTO() { }
public LessonDTO(int id, string title, string lastPublisher, DateOnly? lastEdit)
{
Id = id;
Title = title;
LastPublisher = lastPublisher;
LastEdit = lastEdit;
}
public LessonDTO() { }
public LessonDTO(int id, string title, string lastPublisher, DateOnly? lastEdit)
{
Id = id;
Title = title;
LastPublisher = lastPublisher;
LastEdit = lastEdit;
}
public LessonDTO(string title, string lastPublisher, DateOnly? lastEdit)
{
Title = title;
LastPublisher = lastPublisher;
LastEdit = lastEdit;
}
public LessonDTO(string title, string lastPublisher, DateOnly? lastEdit)
{
Title = title;
LastPublisher = lastPublisher;
LastEdit = lastEdit;
}
}

@ -1,26 +1,25 @@
namespace Dto
namespace Dto;
public class NotepadDTO
{
public class NotepadDTO
{
public int Id { get; set; }
public int UserId { get; set; }
public int InquiryId { get; set; }
public string Notes { get; set; }
public int Id { get; set; }
public int UserId { get; set; }
public int InquiryId { get; set; }
public string Notes { get; set; }
public NotepadDTO() { }
public NotepadDTO() { }
public NotepadDTO(int id, int userId, int inquiryId, string notes)
{
Id = id;
UserId = userId;
InquiryId = inquiryId;
Notes = notes;
}
public NotepadDTO(int userId, int inquiryId, string notes)
{
UserId = userId;
InquiryId = inquiryId;
Notes = notes;
}
public NotepadDTO(int id, int userId, int inquiryId, string notes)
{
Id = id;
UserId = userId;
InquiryId = inquiryId;
Notes = notes;
}
public NotepadDTO(int userId, int inquiryId, string notes)
{
UserId = userId;
InquiryId = inquiryId;
Notes = notes;
}
}

@ -1,32 +1,17 @@
namespace Dto
{
public class ParagraphDTO
{
public int Id { get; }
public string Title { get; set; }
public string Content { get; set; }
public string Info { get; set; }
public string Query { get; set; }
public string Comment { get; set; }
namespace Dto;
public ParagraphDTO() { }
public class ParagraphDTO : ContentLessonDTO
{
public string Info { get; set; }
public string Query { get; set; }
public string Comment { get; set; }
public ParagraphDTO(int id, string title, string content, string info, string query, string comment)
{
Id = id;
Title = title;
Content = content;
Info = info;
Query = query;
Comment = comment;
}
public ParagraphDTO(string title, string content, string info, string query, string comment)
{
Title = title;
Content = content;
Info = info;
Query = query;
Comment = comment;
}
public ParagraphDTO(int id, string title, string content, string info, string query, string comment, int lessonId) :
base(id, content,
title, lessonId)
{
Info = info;
Query = query;
Comment = comment;
}
}

@ -1,30 +1,29 @@
namespace Dto
namespace Dto;
public class SolutionDTO
{
public class SolutionDTO
public int OwnerId { get; set; }
public string MurdererFirstName { get; set; }
public string MurdererLastName { get; set; }
public string MurderPlace { get; set; }
public string MurderWeapon { get; set; }
public string Explanation { get; set; }
public SolutionDTO() { }
public SolutionDTO(int ownerId, string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation)
{
public int OwnerId { get; set; }
public string MurdererFirstName { get; set; }
public string MurdererLastName { get; set; }
public string MurderPlace { get; set; }
public string MurderWeapon { get; set; }
public string Explanation { get; set; }
public SolutionDTO() { }
public SolutionDTO(int ownerId, string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation)
{
OwnerId = ownerId;
MurdererFirstName = murdererFirstName;
MurdererLastName = murdererLastName;
MurderPlace = murderPlace;
MurderWeapon = murderWeapon;
Explanation = explanation;
}
public SolutionDTO(string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation)
{
MurdererFirstName = murdererFirstName;
MurdererLastName = murdererLastName;
MurderPlace = murderPlace;
MurderWeapon = murderWeapon;
Explanation = explanation;
}
OwnerId = ownerId;
MurdererFirstName = murdererFirstName;
MurdererLastName = murdererLastName;
MurderPlace = murderPlace;
MurderWeapon = murderWeapon;
Explanation = explanation;
}
public SolutionDTO(string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation)
{
MurdererFirstName = murdererFirstName;
MurdererLastName = murdererLastName;
MurderPlace = murderPlace;
MurderWeapon = murderWeapon;
Explanation = explanation;
}
}

@ -1,18 +1,17 @@
namespace Dto
namespace Dto;
public class SuccessDTO
{
public class SuccessDTO
{
public int UserId { get; set; }
public int InquiryId { get; set; }
public bool IsFinished { get; set; }
public int UserId { get; set; }
public int InquiryId { get; set; }
public bool IsFinished { get; set; }
public SuccessDTO() { }
public SuccessDTO() { }
public SuccessDTO(int userId, int inquiryId, bool isFinished)
{
UserId = userId;
InquiryId = inquiryId;
IsFinished = isFinished;
}
public SuccessDTO(int userId, int inquiryId, bool isFinished)
{
UserId = userId;
InquiryId = inquiryId;
IsFinished = isFinished;
}
}

@ -1,34 +1,33 @@
namespace Dto
namespace Dto;
public class UserDTO
{
public class UserDTO
{
public int Id { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public bool IsAdmin { get; set; }
public int Id { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public bool IsAdmin { get; set; }
public UserDTO() { }
public UserDTO(int id, string username, string password, string email, bool isAdmin)
{
Id = id;
Username = username;
Password = password;
Email = email;
IsAdmin = isAdmin;
}
public UserDTO() { }
public UserDTO(int id, string username, string password, string email, bool isAdmin)
{
Id = id;
Username = username;
Password = password;
Email = email;
IsAdmin = isAdmin;
}
public UserDTO(string username, string password, string email, bool isAdmin)
{
Username = username;
Password = password;
Email = email;
IsAdmin = isAdmin;
}
public UserDTO(string username, string password, string email, bool isAdmin)
{
Username = username;
Password = password;
Email = email;
IsAdmin = isAdmin;
}
public override string ToString()
{
return $"{Id}\t{Username}\t{Email}\t{IsAdmin}";
}
public override string ToString()
{
return $"{Id}\t{Username}\t{Email}\t{IsAdmin}";
}
}

@ -3,22 +3,37 @@
namespace Entities;
[Table("ContentLesson")]
public class ContentLessonEntity
public abstract class ContentLessonEntity
{
[ForeignKey(nameof(Lesson))]
public int LessonId { get; set; }
public LessonEntity Lesson { get; set; }
public int Id { get; set; }
public string ContentContent { get; set; }
public string ContentTitle { get; set; }
[ForeignKey(nameof(Lesson))] public int LessonId { get; set; }
public LessonEntity Lesson { get; set; } = null!;
[ForeignKey(nameof(Paragraph))]
public int LessonPartId { get; set; }
public ParagraphEntity Paragraph { get; set; }
protected ContentLessonEntity()
{
}
public ContentLessonEntity(){}
public ContentLessonEntity(int lessonId, LessonEntity lesson, int lessonPartId, ParagraphEntity paragraph)
protected ContentLessonEntity(int id, string contentContent, string contentTitle)
{
Id = id;
ContentContent = contentContent;
ContentTitle = contentTitle;
}
protected ContentLessonEntity(int id, int lessonId, string contentContent, string contentTitle)
{
Id = id;
LessonId = lessonId;
Lesson = lesson;
LessonPartId = lessonPartId;
Paragraph = paragraph;
ContentContent = contentContent;
ContentTitle = contentTitle;
}
protected ContentLessonEntity(string contentContent, string contentTitle)
{
ContentContent = contentContent;
ContentTitle = contentTitle;
}
}

@ -1,39 +1,55 @@
using System.ComponentModel.DataAnnotations;
namespace Entities;
namespace Entities
public class InquiryEntity
{
public class InquiryEntity
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 IdInquiryTable { get; set; }
public SolutionEntity InquiryTable { get; set; }
public InquiryEntity()
{
public int Id { get; }
public string Title { get; set; }
public string Description { get; set; }
public bool IsUser { get; set; }
public InquiryTableEntity Database { get; set; }
public SolutionEntity InquiryTable { get; set; }
public InquiryEntity() { }
}
public InquiryEntity(int id)
{
Id = id;
}
public InquiryEntity(int id, string title, string description, bool isUser, InquiryTableEntity database, SolutionEntity inquiryTable)
{
Id = id;
Title = title;
Description = description;
IsUser = isUser;
Database = database;
InquiryTable = inquiryTable;
}
public InquiryEntity(int id)
{
Id = id;
}
public InquiryEntity(string title, string description, bool isUser, InquiryTableEntity database, SolutionEntity inquiryTable)
{
Id = 0;
Title = title;
Description = description;
IsUser = isUser;
Database = database;
InquiryTable = inquiryTable;
}
public InquiryEntity(int id, string title, string description, bool isUser, InquiryTableEntity database,
SolutionEntity inquiryTable)
{
Id = id;
Title = title;
Description = description;
IsUser = isUser;
Database = database;
InquiryTable = inquiryTable;
}
public InquiryEntity(string title, string description, bool isUser, InquiryTableEntity database,
SolutionEntity inquiryTable)
{
Id = 0;
Title = title;
Description = description;
IsUser = isUser;
Database = database;
InquiryTable = inquiryTable;
}
public InquiryEntity(int id, string title, string description, bool isUser, int database,
int inquiryTable)
{
Id = id;
Title = title;
Description = description;
IsUser = isUser;
IdDatabase = database;
IdInquiryTable = inquiryTable;
}
}

@ -9,13 +9,8 @@ public class LessonEntity
public string? Title { get; set; }
public string? LastPublisher { get; set; }
public DateOnly? LastEdit { get; set; }
public ICollection<ContentLessonEntity> Content { get; set; } = new List<ContentLessonEntity>();
public LessonEntity() { }
public LessonEntity(int id)
{
Id = id;
}
public LessonEntity(int id, string title, string lastPublisher, DateOnly? lastEdit)
{
Id = id;

@ -3,36 +3,31 @@
namespace Entities;
[Table("Paragraph")]
public class ParagraphEntity
public class ParagraphEntity : ContentLessonEntity
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
// ID
// ContentContent
// ContentTitle
// LessonId
public string Info { get; set; }
public string Query { get; set; }
public string Comment { get; set; }
public ParagraphEntity() { }
public ParagraphEntity(int id)
public ParagraphEntity()
{
Id = id;
}
public ParagraphEntity(int id, string title, string content, string info, string query, string comment)
public ParagraphEntity(int id, string title, string content, string info, string query,
string comment, int idLesson) : base(id, idLesson, content, title)
{
Id = id;
Title = title;
Content = content;
Info = info;
Query = query;
Comment = comment;
}
public ParagraphEntity(string title, string content, string info, string query, string comment)
public ParagraphEntity(string title, string content, string info, string query, string comment) : base(content,
title)
{
Title = title;
Content = content;
Info = info;
Query = query;
Comment = comment;

@ -41,4 +41,13 @@ public class SolutionEntity
MurderWeapon = murderWeapon;
Explanation = explanation;
}
public SolutionEntity(int ownerId, string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation)
{
OwnerId = ownerId;
MurdererFirstName = murdererFirstName;
MurdererLastName = murdererLastName;
MurderPlace = murderPlace;
MurderWeapon = murderWeapon;
Explanation = explanation;
}
}

@ -1,14 +1,13 @@
namespace ModelToEntities.Business
namespace Model;
public class BlackList
{
public class BlackList
{
public string Email { get; set; }
public DateOnly ExpirationDate { get; set; }
public string Email { get; set; }
public DateOnly ExpirationDate { get; set; }
public BlackList(string email, DateOnly expirationDate)
{
Email = email;
ExpirationDate = expirationDate;
}
public BlackList(string email, DateOnly expirationDate)
{
Email = email;
ExpirationDate = expirationDate;
}
}

@ -1,14 +1,24 @@
namespace ModelToEntities.Business
namespace Model;
public abstract class ContentLesson
{
public class ContentLesson
public int Id { get; set; }
public string ContentContent { get; set; }
public string ContentTitle { get; set; }
public int LessonId { get; set; }
protected ContentLesson(string contentContent, string contentTitle)
{
ContentContent = contentContent;
ContentTitle = contentTitle;
}
protected ContentLesson(int id, string contentContent, string contentTitle, int lessonId)
{
public ContentLesson(int lessonId, int lessonPartId)
{
LessonId = lessonId;
LessonPartId = lessonPartId;
}
public int LessonId { get; set; }
public int LessonPartId { get; set; }
Id = id;
ContentContent = contentContent;
ContentTitle = contentTitle;
LessonId = lessonId;
}
}

@ -1,24 +1,23 @@
namespace ModelToEntities.Business
namespace Model;
public class Inquiry
{
public class Inquiry
{
public int Id { get; set; }
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 int Id { get; set; }
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() { }
public Inquiry(int id, string title, string description, bool isUser, int database, int inquiryTable)
{
Id = id;
Title = title;
Description = description;
IsUser = isUser;
Database = database;
InquiryTable = inquiryTable;
}
public Inquiry(int id, string title, string description, bool isUser, int database, int inquiryTable)
{
Id = id;
Title = title;
Description = description;
IsUser = isUser;
Database = database;
InquiryTable = inquiryTable;
}
}

@ -1,18 +1,17 @@
namespace ModelToEntities.Business
{
public class InquiryTable
{
public int OwnerId { get; set; }
public string DatabaseName { get; set; }
public string ConnectionInfo { get; set; }
namespace Model;
public InquiryTable() { }
public InquiryTable(int inquiryId, string databaseName, string connectionInfo)
{
OwnerId = inquiryId;
DatabaseName = databaseName;
ConnectionInfo = connectionInfo;
}
public class InquiryTable
{
public int OwnerId { get; set; }
public string DatabaseName { get; set; }
public string ConnectionInfo { get; set; }
public InquiryTable() { }
public InquiryTable(int inquiryId, string databaseName, string connectionInfo)
{
OwnerId = inquiryId;
DatabaseName = databaseName;
ConnectionInfo = connectionInfo;
}
}

@ -1,31 +1,25 @@
namespace ModelToEntities.Business
{
public class Lesson
{
public int Id { get; }
public string? Title { get; set; }
public string? LastPublisher { get; set; }
public DateOnly? LastEdit { get; set; }
namespace Model;
public Lesson() { }
public class Lesson
{
public int Id { get; }
public string? Title { get; set; }
public string? LastPublisher { get; set; }
public DateOnly? LastEdit { get; set; }
public ICollection<ContentLesson> Content { get; set; } = new List<ContentLesson>();
public Lesson(int id)
{
Id = id;
}
public Lesson(int id, string title, string lastPublisher, DateOnly? lastEdit)
{
Id = id;
Title = title;
LastPublisher = lastPublisher;
LastEdit = lastEdit;
}
public Lesson(int id, string title, string lastPublisher, DateOnly? lastEdit)
{
Id = id;
Title = title;
LastPublisher = lastPublisher;
LastEdit = lastEdit;
}
public Lesson(string title, string lastPublisher, DateOnly? lastEdit)
{
Title = title;
LastPublisher = lastPublisher;
LastEdit = lastEdit;
}
public Lesson(string title, string lastPublisher, DateOnly? lastEdit)
{
Title = title;
LastPublisher = lastPublisher;
LastEdit = lastEdit;
}
}

@ -1,26 +1,25 @@
namespace ModelToEntities.Business
namespace Model;
public class Notepad
{
public class Notepad
{
public int Id { get; set; }
public int UserId { get; set; }
public int InquiryId { get; set; }
public string Notes { get; set; }
public int Id { get; set; }
public int UserId { get; set; }
public int InquiryId { get; set; }
public string Notes { get; set; }
public Notepad() { }
public Notepad() { }
public Notepad(int id, int userId, int inquiryId, string notes)
{
Id = id;
UserId = userId;
InquiryId = inquiryId;
Notes = notes;
}
public Notepad(int userId, int inquiryId, string notes)
{
UserId = userId;
InquiryId = inquiryId;
Notes = notes;
}
public Notepad(int id, int userId, int inquiryId, string notes)
{
Id = id;
UserId = userId;
InquiryId = inquiryId;
Notes = notes;
}
public Notepad(int userId, int inquiryId, string notes)
{
UserId = userId;
InquiryId = inquiryId;
Notes = notes;
}
}

@ -1,37 +1,24 @@
namespace ModelToEntities.Business
{
public class Paragraph
{
public int Id { get; }
public string? Title { get; set; }
public string? Content { get; set; }
public string? Info { get; set; }
public string? Query { get; set; }
public string? Comment { get; set; }
namespace Model;
public Paragraph() { }
public class Paragraph : ContentLesson
{
public string Info { get; set; }
public string Query { get; set; }
public string Comment { get; set; }
public Paragraph(int id)
{
Id = id;
}
public Paragraph(string title, string content, string info, string query, string comment) : base(content,
title)
{
Info = info;
Query = query;
Comment = comment;
}
public Paragraph(int id, string title, string content, string info, string query, string comment)
{
Id = id;
Title = title;
Content = content;
Info = info;
Query = query;
Comment = comment;
}
public Paragraph(string title, string content, string info, string query, string comment)
{
Title = title;
Content = content;
Info = info;
Query = query;
Comment = comment;
}
public Paragraph(int id, string title, string content, string info, string query, string comment, int lessonId) :
base(id, content, title, lessonId)
{
Info = info;
Query = query;
Comment = comment;
}
}

@ -1,30 +1,29 @@
namespace ModelToEntities.Business
namespace Model;
public class Solution
{
public class Solution
public int OwnerId { get; set; }
public string MurdererFirstName { get; set; }
public string MurdererLastName { get; set; }
public string MurderPlace { get; set; }
public string MurderWeapon { get; set; }
public string Explanation { get; set; }
public Solution() { }
public Solution(int ownerId, string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation)
{
public int OwnerId { get; set; }
public string MurdererFirstName { get; set; }
public string MurdererLastName { get; set; }
public string MurderPlace { get; set; }
public string MurderWeapon { get; set; }
public string Explanation { get; set; }
public Solution() { }
public Solution(int ownerId, string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation)
{
OwnerId = ownerId;
MurdererFirstName = murdererFirstName;
MurdererLastName = murdererLastName;
MurderPlace = murderPlace;
MurderWeapon = murderWeapon;
Explanation = explanation;
}
public Solution(string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation)
{
MurdererFirstName = murdererFirstName;
MurdererLastName = murdererLastName;
MurderPlace = murderPlace;
MurderWeapon = murderWeapon;
Explanation = explanation;
}
OwnerId = ownerId;
MurdererFirstName = murdererFirstName;
MurdererLastName = murdererLastName;
MurderPlace = murderPlace;
MurderWeapon = murderWeapon;
Explanation = explanation;
}
public Solution(string murdererFirstName, string murdererLastName, string murderPlace, string murderWeapon, string explanation)
{
MurdererFirstName = murdererFirstName;
MurdererLastName = murdererLastName;
MurderPlace = murderPlace;
MurderWeapon = murderWeapon;
Explanation = explanation;
}
}

@ -1,18 +1,17 @@
namespace ModelToEntities.Business
namespace Model;
public class Success
{
public class Success
{
public int UserId { get; set; }
public int InquiryId { get; set; }
public bool IsFinished { get; set; }
public int UserId { get; set; }
public int InquiryId { get; set; }
public bool IsFinished { get; set; }
public Success() { }
public Success() { }
public Success(int userId, int inquiryId, bool isFinished)
{
UserId = userId;
InquiryId = inquiryId;
IsFinished = isFinished;
}
public Success(int userId, int inquiryId, bool isFinished)
{
UserId = userId;
InquiryId = inquiryId;
IsFinished = isFinished;
}
}

@ -1,21 +1,20 @@
namespace ModelToEntities.Business
namespace Model;
public class User
{
public class User
{
public int Id { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public bool IsAdmin { get; set; }
public int Id { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public bool IsAdmin { get; set; }
public User() { }
public User(int id, string username, string password, string email, bool isAdmin)
{
Id = id;
Username = username;
Password = password;
Email = email;
IsAdmin = isAdmin;
}
public User() { }
public User(int id, string username, string password, string email, bool isAdmin)
{
Id = id;
Username = username;
Password = password;
Email = email;
IsAdmin = isAdmin;
}
}

@ -1,6 +1,6 @@
using Dto;
using Entities;
using ModelToEntities.Business;
using Model;
namespace Shared.Mapper;

@ -1,34 +0,0 @@
using Dto;
using Entities;
using ModelToEntities.Business;
namespace Shared.Mapper;
public static class ContentLessonMapper
{
public static ContentLesson FromDTOToModel(this ContentLessonDTO dto)
{
return new ContentLesson(dto.LessonId, dto.LessonPartId);
}
public static ContentLesson FromEntityToModel(this ContentLessonEntity ent)
{
return new ContentLesson(ent.LessonId, ent.LessonPartId);
}
public static ContentLessonDTO FromModelToDTO(this ContentLesson les)
{
return new ContentLessonDTO(les.LessonId, les.LessonPartId);
}
public static ContentLessonDTO FromEntityToDTO(this ContentLessonEntity ent)
{
return new ContentLessonDTO(ent.LessonId, ent.LessonPartId);
}
public static ContentLessonEntity FromModelToEntity(this ContentLesson les)
{
return new ContentLessonEntity(les.LessonId, new LessonEntity(les.LessonId), les.LessonPartId,
new ParagraphEntity(les.LessonPartId));
}
}

@ -1,6 +1,6 @@
using Dto;
using Entities;
using ModelToEntities.Business;
using Model;
namespace Shared.Mapper;

@ -1,6 +1,6 @@
using Dto;
using Entities;
using ModelToEntities.Business;
using Model;
namespace Shared.Mapper;

@ -1,6 +1,6 @@
using Dto;
using Entities;
using ModelToEntities.Business;
using Model;
namespace Shared.Mapper;

@ -1,6 +1,6 @@
using Dto;
using Entities;
using ModelToEntities.Business;
using Model;
namespace Shared.Mapper;

@ -1,6 +1,6 @@
using Dto;
using Entities;
using ModelToEntities.Business;
using Model;
namespace Shared.Mapper;
@ -8,31 +8,35 @@ public static class ParagraphMapper
{
public static Paragraph FromDTOToModel(ParagraphDTO dto)
{
return new Paragraph(dto.Id, dto.Title, dto.Content, dto.Info, dto.Query, dto.Comment);
return new Paragraph(dto.ContentTitle, dto.ContentContent, dto.Info, dto.Query, dto.Comment);
}
public static Paragraph FromEntityToModel(ParagraphEntity model)
{
return new Paragraph(model.Id, model.Title, model.Content, model.Info, model.Query, model.Comment);
return new Paragraph(model.ContentTitle, model.ContentContent, model.Info, model.Query, model.Comment);
}
public static ParagraphDTO FromEntityToDTO(ParagraphEntity model)
{
return new ParagraphDTO(model.Id, model.Title, model.Content, model.Info, model.Query, model.Comment);
return new ParagraphDTO(model.Id, model.ContentTitle, model.ContentContent, model.Info, model.Query,
model.Comment, model.LessonId);
}
public static ParagraphDTO FromModelToDTO(Paragraph model)
{
return new ParagraphDTO(model.Id, model.Title, model.Content, model.Info, model.Query, model.Comment);
return new ParagraphDTO(model.Id, model.ContentTitle, model.ContentContent, model.Info, model.Query,
model.Comment, model.LessonId);
}
public static ParagraphEntity FromDTOToEntity(ParagraphDTO dto)
{
return new ParagraphEntity(dto.Id, dto.Title, dto.Content, dto.Info, dto.Query, dto.Comment);
return new ParagraphEntity(dto.Id, dto.ContentTitle, dto.ContentContent, dto.Info, dto.Query, dto.Comment,
dto.LessonId);
}
public static Paragraph FromModelToEntity(Paragraph model)
public static ParagraphEntity FromModelToEntity(Paragraph model)
{
return new Paragraph(model.Id, model.Title, model.Content, model.Info, model.Query, model.Comment);
return new ParagraphEntity(model.Id, model.ContentTitle, model.ContentContent, model.Info, model.Query,
model.Comment, model.LessonId);
}
}

@ -1,6 +1,6 @@
using Dto;
using Entities;
using ModelToEntities.Business;
using Model;
namespace Shared.Mapper;

@ -1,6 +1,6 @@
using Dto;
using Entities;
using ModelToEntities.Business;
using Model;
namespace Shared.Mapper;

@ -1,6 +1,6 @@
using Dto;
using Entities;
using ModelToEntities.Business;
using Model;
namespace Shared.Mapper;

@ -1,4 +1,5 @@
using System.Security.Cryptography;
using System.Runtime.CompilerServices;
using System.Security.Cryptography;
using DbContextLib;
using Entities;
using Microsoft.AspNetCore.Cryptography.KeyDerivation;
@ -46,5 +47,23 @@ 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"),
new InquiryTableEntity(2, "Inquiry2",
"Server=localhost;Database=Inquiry2;Trusted_Connection=True;MultipleActiveResultSets=true"),
new InquiryTableEntity(3, "Inquiry3",
"Server=localhost;Database=Inquiry3;Trusted_Connection=True;MultipleActiveResultSets=true"));
modelBuilder.Entity<SolutionEntity>().HasData(
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"));
}
}

@ -4,7 +4,6 @@ using Entities;
using Microsoft.AspNetCore.Cryptography.KeyDerivation;
using Microsoft.Data.Sqlite;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using StubbedContextLib;
var connection = new SqliteConnection("DataSource=:memory:");
@ -13,23 +12,23 @@ var options = new DbContextOptionsBuilder<UserDbContext>()
.UseSqlite(connection)
.Options;
using ILoggerFactory factory = new LoggerFactory();
// Partie sur les utilisateurs
using (var db = new StubbedContext(options))
{
await db.Database.EnsureCreatedAsync();
// Test sur les users
// Test sur les utilisateurs
var users = db.Users;
// Affichage de tous les users
// Affichage de tous les utilisateurs
Console.WriteLine("Affichage des noms des utilisateurs");
foreach (var user in users)
{
Console.WriteLine(user.Username);
}
// Affichage des users filtrés
// Affichage des utilisateurs filtrés
Console.WriteLine("\nAffichage des utilisateurs contenant e");
var filteredUsers = users.Where(u => u.Username.Contains("e"));
foreach (var user in filteredUsers)
@ -37,7 +36,7 @@ using (var db = new StubbedContext(options))
Console.WriteLine(user.Username);
}
// Affichage des users triés
// Affichage des utilisateurs triés
Console.WriteLine("\nAffichage des utilisateurs triés selon leur nom");
var orderedUsers = users.OrderBy(u => u.Username);
foreach (var user in orderedUsers)
@ -62,11 +61,13 @@ using (var db = new StubbedContext(options))
using (var db = new StubbedContext(options))
{
await db.Database.EnsureCreatedAsync();
var users = db.Users;
// Affichage du nouvel utilisateur
Console.WriteLine("\nAffichage du nouvel utilisateur");
var u = await users.FirstOrDefaultAsync(u => u.Username == "le nouveau du groupe");
foreach (var pptt in typeof(UserEntity).GetProperties().Where((p => p.CanWrite && p.Name != nameof(UserEntity.Id))))
foreach (var pptt in typeof(UserEntity).GetProperties().Where(p => p.CanWrite && p.Name != nameof(UserEntity.Id)))
{
Console.WriteLine(pptt.GetValue(u));
}
@ -82,6 +83,8 @@ using (var db = new StubbedContext(options))
using (var db = new StubbedContext(options))
{
await db.Database.EnsureCreatedAsync();
var users = db.Users;
// Affichage des utilisateurs après suppression
Console.WriteLine("\nAffichage des utilisateurs après suppression");
@ -102,6 +105,8 @@ using (var db = new StubbedContext(options))
using (var db = new StubbedContext(options))
{
await db.Database.EnsureCreatedAsync();
var users = db.Users;
// Affichage des utilisateurs après modification
var userToModify = await users.FirstOrDefaultAsync(u => u.Username == "clement modifié");
@ -118,3 +123,131 @@ using (var db = new StubbedContext(options))
}
}
}
// Partie sur les enquetes
using (var db = new StubbedContext(options))
{
await db.Database.EnsureCreatedAsync();
// Test sur les enquetes
var inquiries = db.Inquiry;
// Affichage de toutes les enquetes
Console.WriteLine("\nAffichage des noms des enquetes");
foreach (var inquiry in inquiries)
{
Console.WriteLine(inquiry.Title);
}
// Affichage des enquetes filtrées
Console.WriteLine("\nAffichage des enquetes contenant o");
var filteredInquiries = inquiries.Where(i => i.Title.Contains("o"));
foreach (var inquiry in filteredInquiries)
{
Console.WriteLine(inquiry.Title);
}
// Affichage des enquetes triées
Console.WriteLine("\nAffichage des enquetes triées selon leur nom");
var orderedInquiries = inquiries.OrderBy(i => i.Title);
foreach (var inquiry in orderedInquiries)
{
Console.WriteLine(inquiry.Title);
}
var solutions = db.Solutions;
// Affichage de la solution de l'enquete sur les orang outan
Console.WriteLine("\nAffichage de la solution de l'enquete sur les orang outan");
var sol = await solutions.FirstOrDefaultAsync(s => s.Owner.Title == "L'enquête sur les orang outan");
Console.WriteLine(sol.MurdererFirstName);
var inquirySolution = await inquiries.FirstOrDefaultAsync(i => i.Title == "L'enquête sur les orang outan");
var i = inquirySolution.InquiryTable;
foreach (var pptt in typeof(SolutionEntity).GetProperties()
.Where(p => p.CanWrite && p.Name != nameof(SolutionEntity.Owner)))
{
Console.WriteLine(pptt.GetValue(i));
}
// Ajout d'une enquete
Console.WriteLine("\nAjout de la nouvelle enquete");
var newInquiry = new InquiryEntity(
"La nouvelle enquete",
"La description de la nouvelle enquete",
true,
null,
null);
if (!inquiries.Any(inquiry => inquiry.Title == newInquiry.Title))
{
inquiries.Add(newInquiry);
await db.SaveChangesAsync();
}
}
using (var db = new StubbedContext(options))
{
await db.Database.EnsureCreatedAsync();
var inquiries = db.Inquiry;
// Affichage de la nouvelle enquete
Console.WriteLine("\nAffichage de la nouvelle enquete");
var i = await inquiries.FirstOrDefaultAsync(i => i.Title == "La nouvelle enquete");
foreach (var pptt in typeof(InquiryEntity).GetProperties()
.Where(p => p.CanWrite && p.Name != nameof(InquiryEntity.Id)))
{
Console.WriteLine(pptt.GetValue(i));
}
if (i != null)
{
// Suppression de la nouvelle enquete
Console.WriteLine("\nSuppression de la nouvelle enquete");
db.Inquiry.Remove(i);
await db.SaveChangesAsync();
}
}
using (var db = new StubbedContext(options))
{
await db.Database.EnsureCreatedAsync();
var inquiries = db.Inquiry;
// Affichage des utilisateurs après suppression
Console.WriteLine("\nAffichage des utilisateurs après suppression");
foreach (var inquiry in inquiries)
{
Console.WriteLine(inquiry.Title);
}
// Modification d'une enquete
Console.WriteLine("\nModification de l'enquete L'enquête de la carotte");
var inquiryToModify = await inquiries.FirstOrDefaultAsync(i => i.Title == "L'enquête de la carotte");
if (inquiryToModify != null)
{
inquiryToModify.Title = "L'enquête de la carotte modifiée";
await db.SaveChangesAsync();
}
}
using (var db = new StubbedContext(options))
{
await db.Database.EnsureCreatedAsync();
var inquiries = db.Inquiry;
// Affichage des enquetes après modification
var inquiryToModify = await inquiries.FirstOrDefaultAsync(i => i.Title == "L'enquête de la carotte modifiée");
if (inquiryToModify != null)
{
Console.WriteLine("\nAffichage de l'enquete après modification");
Console.WriteLine(inquiryToModify.Title);
// Rollback
inquiryToModify = await inquiries.FirstOrDefaultAsync(i => i.Title == "L'enquête de la carotte modifiée");
if (inquiryToModify != null)
{
inquiryToModify.Title = "L'enquête de la carotte";
await db.SaveChangesAsync();
}
}
}
Loading…
Cancel
Save