diff --git a/WF_EF_Api/Dto2Entities/Extention.cs b/WF_EF_Api/Dto2Entities/Extention.cs index b58d527..5d7d85f 100644 --- a/WF_EF_Api/Dto2Entities/Extention.cs +++ b/WF_EF_Api/Dto2Entities/Extention.cs @@ -103,6 +103,16 @@ namespace Dto2Entities return question; } + public static List ToDto(this List item) + { + List questionDTOs = new List(); + foreach (Question question in item) + { + questionDTOs.Add(question.ToDto()); + } + return questionDTOs; + } + public static QuizDTO ToDto(this Quiz item) { QuizDTO quiz = new QuizDTO(); @@ -113,6 +123,16 @@ namespace Dto2Entities return quiz; } + public static List ToDto(this List item) + { + List quizDTOs = new List(); + foreach (Quiz quiz in item) + { + quizDTOs.Add(quiz.ToDto()); + } + return quizDTOs; + } + // Surement a refaire car QuizQuestion Entity modifier sur branche EF public static QuizQuestionDTO ToDto(this QuizQuestion item) { @@ -122,6 +142,16 @@ namespace Dto2Entities return quizQuestion; } + public static List ToDto(this List item) + { + List quizQuestionDTOs = new List(); + foreach (QuizQuestion quizQuestion in item) + { + quizQuestionDTOs.Add(quizQuestion.ToDto()); + } + return quizQuestionDTOs; + } + public static QuoteDTO ToDto(this Quote item) { QuoteDTO quote = new QuoteDTO(); @@ -137,6 +167,16 @@ namespace Dto2Entities return quote; } + public static List ToDto(this List item) + { + List quoteDTOs = new List(); + foreach (Quote quote in item) + { + quoteDTOs.Add(quote.ToDto()); + } + return quoteDTOs; + } + public static SourceDTO ToDto(this Source item) { SourceDTO source = new SourceDTO(); @@ -147,6 +187,16 @@ namespace Dto2Entities return source; } + public static List ToDto(this List item) + { + List sourceDTOs = new List(); + foreach (Source source in item) + { + sourceDTOs.Add(source.ToDto()); + } + return sourceDTOs; + } + public static UserDTO ToDto(this Users item) { UserDTO user = new UserDTO(); @@ -159,14 +209,14 @@ namespace Dto2Entities return user; } - public static List ToDto(this List users) + public static List ToDto(this List item) { - List userDTOs = new List(); - foreach (Users user in users) + List users = new List(); + foreach (Users user in item) { - userDTOs.Add(ToDto(user)); + users.Add(user.ToDto()); } - return userDTOs; + return users; } public static TypeLangageDTO ToDto(this LangEnum item) @@ -204,6 +254,16 @@ namespace Dto2Entities return character; } + public static List ToEntity(this List item) + { + List characters = new List(); + foreach (CharacterDTO character in item) + { + characters.Add(character.ToEntity()); + } + return characters; + } + public static Commentary ToEntity(this CommentaryDTO item) { Commentary commentary = new Commentary(); @@ -215,6 +275,16 @@ namespace Dto2Entities return commentary; } + public static List ToEntity(this List item) + { + List commentarys = new List(); + foreach (CommentaryDTO commentary in item) + { + commentarys.Add(commentary.ToEntity()); + } + return commentarys; + } + // Surement a refaire car Faoirite Entity modifier sur branche EF public static Favorite ToEntity(this FavoriteDTO item) { @@ -224,6 +294,16 @@ namespace Dto2Entities return favorite; } + public static List ToEntity(this List item) + { + List favorites = new List(); + foreach (FavoriteDTO favorite in item) + { + favorites.Add(favorite.ToEntity()); + } + return favorites; + } + public static Images ToEntity(this ImageDTO item) { Images image = new Images(); @@ -232,6 +312,16 @@ namespace Dto2Entities return image; } + public static List ToEntity(this List item) + { + List images = new List(); + foreach (ImageDTO image in item) + { + images.Add(image.ToEntity()); + } + return images; + } + public static Question ToEntity(this QuestionDTO item) { Question question = new Question(); @@ -244,6 +334,15 @@ namespace Dto2Entities question.CorrectAnswer = item.CorrectAnswer; return question; } + public static List ToEntity(this List item) + { + List questions = new List(); + foreach (QuestionDTO question in item) + { + questions.Add(question.ToEntity()); + } + return questions; + } public static Quiz ToEntity(this QuizDTO item) { @@ -255,6 +354,16 @@ namespace Dto2Entities return quiz; } + public static List ToEntity(this List item) + { + List quizs = new List(); + foreach (QuizDTO quiz in item) + { + quizs.Add(quiz.ToEntity()); + } + return quizs; + } + // Surement a refaire car QuizQuestion Entity modifier sur branche EF public static QuizQuestion ToEntity(this QuizQuestionDTO item) { @@ -264,6 +373,16 @@ namespace Dto2Entities return quizQuestion; } + public static List ToEntity(this List item) + { + List quizQuestions = new List(); + foreach (QuizQuestionDTO quizQuestion in item) + { + quizQuestions.Add(quizQuestion.ToEntity()); + } + return quizQuestions; + } + public static Quote ToEntity(this QuoteDTO item) { Quote quote = new Quote(); @@ -279,6 +398,16 @@ namespace Dto2Entities return quote; } + public static List ToEntity(this List item) + { + List quotes = new List(); + foreach (QuoteDTO quote in item) + { + quotes.Add(quote.ToEntity()); + } + return quotes; + } + public static Source ToEntity(this SourceDTO item) { Source source = new Source(); @@ -289,6 +418,16 @@ namespace Dto2Entities return source; } + public static List ToEntity(this List item) + { + List sources = new List(); + foreach (SourceDTO source in item) + { + sources.Add(source.ToEntity()); + } + return sources; + } + public static Users ToEntity(this UserDTO item) { Users user = new Users(); @@ -301,6 +440,16 @@ namespace Dto2Entities return user; } + public static List ToEntity(this List item) + { + List users = new List(); + foreach (UserDTO user in item) + { + users.Add(user.ToEntity()); + } + return users; + } + public static LangEnum ToEntity(this TypeLangageDTO item) { switch (item) diff --git a/WF_EF_Api/StubbedContextLib/Migrations/20250328102709_migr5.Designer.cs b/WF_EF_Api/StubbedContextLib/Migrations/20250328102709_migr5.Designer.cs new file mode 100644 index 0000000..7e637c8 --- /dev/null +++ b/WF_EF_Api/StubbedContextLib/Migrations/20250328102709_migr5.Designer.cs @@ -0,0 +1,1107 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using StubbedContextLib; + +#nullable disable + +namespace StubbedContextLib.Migrations +{ + [DbContext(typeof(StubWTFContext))] + [Migration("20250328102709_migr5")] + partial class migr5 + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "9.0.3") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("Entity.Admin", b => + { + b.Property("IdUsers") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("IdUsers")); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("IdUsers"); + + b.HasIndex("UserId"); + + b.ToTable("admins"); + }); + + modelBuilder.Entity("Entity.Character", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("IdImage") + .HasColumnType("int"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("IdImage"); + + b.ToTable("characters"); + + b.HasData( + new + { + Id = 1, + IdImage = 1, + Name = "Alan Grant" + }, + new + { + Id = 2, + IdImage = 2, + Name = "Aragorn" + }, + new + { + Id = 3, + IdImage = 3, + Name = "Legolas" + }, + new + { + Id = 4, + IdImage = 4, + Name = "Frodon" + }, + new + { + Id = 5, + IdImage = 5, + Name = "Dobby" + }, + new + { + Id = 6, + IdImage = 6, + Name = "Jon Snow" + }, + new + { + Id = 7, + IdImage = 7, + Name = "Daenerys Targaryen" + }, + new + { + Id = 8, + IdImage = 8, + Name = "Luke Skywalker" + }, + new + { + Id = 9, + IdImage = 9, + Name = "Princess Leia" + }, + new + { + Id = 10, + IdImage = 10, + Name = "Harry Potter" + }); + }); + + modelBuilder.Entity("Entity.Commentary", b => + { + b.Property("IdUser") + .HasColumnType("int"); + + b.Property("IdQuote") + .HasColumnType("int"); + + b.Property("Comment") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("DateCommentary") + .HasColumnType("date") + .HasColumnName("DateCommentary"); + + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.HasKey("IdUser", "IdQuote"); + + b.HasIndex("IdQuote"); + + b.ToTable("comments"); + + b.HasData( + new + { + IdUser = 2, + IdQuote = 1, + Comment = "Ce film est le meilleur", + DateCommentary = new DateTime(2025, 2, 3, 0, 0, 0, 0, DateTimeKind.Unspecified), + Id = 1 + }, + new + { + IdUser = 3, + IdQuote = 1, + Comment = "Very good", + DateCommentary = new DateTime(2025, 3, 11, 0, 0, 0, 0, DateTimeKind.Unspecified), + Id = 2 + }); + }); + + modelBuilder.Entity("Entity.DailyQuote", b => + { + b.Property("IdQuote") + .HasColumnType("int"); + + b.HasKey("IdQuote"); + + b.ToTable("dailyquotes"); + + b.HasData( + new + { + IdQuote = 1 + }, + new + { + IdQuote = 5 + }); + }); + + modelBuilder.Entity("Entity.Favorite", b => + { + b.Property("IdQuote") + .HasColumnType("int"); + + b.Property("IdUsers") + .HasColumnType("int"); + + b.HasKey("IdQuote", "IdUsers"); + + b.HasIndex("IdUsers"); + + b.ToTable("favorites"); + + b.HasData( + new + { + IdQuote = 2, + IdUsers = 8 + }, + new + { + IdQuote = 5, + IdUsers = 3 + }, + new + { + IdQuote = 9, + IdUsers = 1 + }, + new + { + IdQuote = 4, + IdUsers = 10 + }, + new + { + IdQuote = 3, + IdUsers = 2 + }, + new + { + IdQuote = 6, + IdUsers = 7 + }, + new + { + IdQuote = 1, + IdUsers = 6 + }, + new + { + IdQuote = 8, + IdUsers = 9 + }, + new + { + IdQuote = 10, + IdUsers = 5 + }); + }); + + modelBuilder.Entity("Entity.Images", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ImgPath") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.ToTable("images"); + + b.HasData( + new + { + Id = 1, + ImgPath = "https://th.bing.com/th/id/OIP.TJuWNCsibz8MVmhdNQEdMwHaE8?w=244&h=180&c=7&r=0&o=5&pid=1.7" + }, + new + { + Id = 2, + ImgPath = "https://th.bing.com/th/id/OIP.NgXRQ5-IknA6_qOPFhLWIwHaHK?w=165&h=180&c=7&r=0&o=5&pid=1.7" + }, + new + { + Id = 3, + ImgPath = "https://th.bing.com/th/id/OIP.XcJoJ6bC9sAMjol1pJn5UQHaLH?w=118&h=180&c=7&r=0&o=5&pid=1.7" + }, + new + { + Id = 4, + ImgPath = "https://th.bing.com/th/id/OIP.PPIESqZaNDa-qUcfSDXhdQHaGK?w=210&h=180&c=7&r=0&o=5&pid=1.7" + }, + new + { + Id = 5, + ImgPath = "https://th.bing.com/th/id/OIP.XBghSl2kfRNNtQoSxc901wHaHa?w=177&h=180&c=7&r=0&o=5&pid=1.7" + }, + new + { + Id = 6, + ImgPath = "https://th.bing.com/th/id/OIP.af1Aid64cqEKoIOBgCPxtQHaJO?w=145&h=182&c=7&r=0&o=5&pid=1.7" + }, + new + { + Id = 7, + ImgPath = "https://th.bing.com/th/id/OIP.ri5vSXr5lNTLt4DO6KQXyQHaI4?w=158&h=189&c=7&r=0&o=5&pid=1.7" + }, + new + { + Id = 8, + ImgPath = "https://th.bing.com/th/id/OIP.uPTRLR8uspCiafiunUqKfQHaMJ?w=115&h=180&c=7&r=0&o=5&pid=1.7" + }, + new + { + Id = 9, + ImgPath = "https://th.bing.com/th/id/OIP.hcJis4rKbyQtugsoFJU2ngHaM_?w=118&h=207&c=7&r=0&o=5&pid=1.7" + }, + new + { + Id = 10, + ImgPath = "https://th.bing.com/th/id/OIP.Py1_XfUrKJY_A6tYEmFS5wHaE8?w=280&h=187&c=7&r=0&o=5&pid=1.7" + }); + }); + + modelBuilder.Entity("Entity.Question", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AnswerA") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AnswerB") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AnswerC") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("AnswerD") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CorrectAnswer") + .IsRequired() + .HasMaxLength(1) + .HasColumnType("nvarchar(1)"); + + b.Property("IsValid") + .HasColumnType("bit"); + + b.Property("Text") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.HasKey("Id"); + + b.ToTable("question"); + + b.HasData( + new + { + Id = 1, + AnswerA = "Gimli", + AnswerB = "Aragorn", + AnswerC = "Frodon", + AnswerD = "Gandalf", + CorrectAnswer = "B", + IsValid = true, + Text = "Qui est le leader de la Communauté de l'Anneau ?" + }, + new + { + Id = 2, + AnswerA = "Serdaigle", + AnswerB = "Gryffondor", + AnswerC = "Serpentard", + AnswerD = "Poufsouffle", + CorrectAnswer = "B", + IsValid = false, + Text = "Dans quelle maison Harry Potter est-il ?" + }, + new + { + Id = 3, + AnswerA = "Saroumane", + AnswerB = "Sauron", + AnswerC = "Gollum", + AnswerD = "Gothmog", + CorrectAnswer = "B", + IsValid = true, + Text = "Qui est le Seigneur des Ténèbres dans la saga Le Seigneur des Anneaux ?" + }, + new + { + Id = 4, + AnswerA = "Han Solo", + AnswerB = "Princesse Leia", + AnswerC = "Chewbacca", + AnswerD = "R2-D2", + CorrectAnswer = "A", + IsValid = true, + Text = "Dans le film Star Wars : Episode IV, qui sauve Luke Skywalker de l'Étoile de la Mort ?" + }, + new + { + Id = 5, + AnswerA = "Reine Jadis", + AnswerB = "Aslan", + AnswerC = "Edmund", + AnswerD = "Lucy", + CorrectAnswer = "B", + IsValid = true, + Text = "Qui est le souverain de Narnia dans Le Lion, la Sorcière Blanche et l'Armoire Magique ?" + }, + new + { + Id = 6, + AnswerA = "Smaug", + AnswerB = "Falkor", + AnswerC = "Norbert", + AnswerD = "Shenron", + CorrectAnswer = "A", + IsValid = true, + Text = "Quel est le nom du dragon dans Le Hobbit ?" + }, + new + { + Id = 7, + AnswerA = "Bella Swan", + AnswerB = "Edward Cullen", + AnswerC = "Jacob Black", + AnswerD = "Victoria", + CorrectAnswer = "A", + IsValid = true, + Text = "Qui est la première personne à être mordue par un vampire dans Twilight ?" + }, + new + { + Id = 8, + AnswerA = "Obi-Wan Kenobi", + AnswerB = "Yoda", + AnswerC = "Han Solo", + AnswerD = "Luke Skywalker", + CorrectAnswer = "A", + IsValid = true, + Text = "Quel personnage dit Que la Force soit avec toi dans Star Wars ?" + }, + new + { + Id = 9, + AnswerA = "Dr. Ellie Sattler", + AnswerB = "Alan Grant", + AnswerC = "John Hammond", + AnswerD = "Dennis Nedry", + CorrectAnswer = "B", + IsValid = true, + Text = "Dans Jurassic Park, quel est le nom du paléontologue sur l'île ?" + }, + new + { + Id = 10, + AnswerA = "Cersei Lannister", + AnswerB = "Arya Stark", + AnswerC = "Daenerys Targaryen", + AnswerD = "Sansa Stark", + CorrectAnswer = "C", + IsValid = true, + Text = "Dans Game of Thrones, qui est surnommée la Mère des Dragons ?" + }); + }); + + modelBuilder.Entity("Entity.Quiz", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("IdImage") + .HasColumnType("int"); + + b.Property("NbQuestion") + .HasColumnType("int"); + + b.Property("Title") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("IdImage"); + + b.ToTable("quizzes"); + + b.HasData( + new + { + Id = 1, + IdImage = 1, + NbQuestion = 5, + Title = "Quiz 1" + }, + new + { + Id = 2, + IdImage = 2, + NbQuestion = 5, + Title = "Quiz 2" + }); + }); + + modelBuilder.Entity("Entity.QuizQuestion", b => + { + b.Property("IdQuestion") + .HasColumnType("int"); + + b.Property("IdQuiz") + .HasColumnType("int"); + + b.HasKey("IdQuestion", "IdQuiz"); + + b.HasIndex("IdQuiz"); + + b.ToTable("QuizQuestion"); + + b.HasData( + new + { + IdQuestion = 1, + IdQuiz = 1 + }, + new + { + IdQuestion = 2, + IdQuiz = 1 + }, + new + { + IdQuestion = 3, + IdQuiz = 1 + }, + new + { + IdQuestion = 4, + IdQuiz = 1 + }, + new + { + IdQuestion = 5, + IdQuiz = 1 + }, + new + { + IdQuestion = 6, + IdQuiz = 2 + }, + new + { + IdQuestion = 7, + IdQuiz = 2 + }, + new + { + IdQuestion = 8, + IdQuiz = 2 + }, + new + { + IdQuestion = 9, + IdQuiz = 2 + }, + new + { + IdQuestion = 10, + IdQuiz = 2 + }); + }); + + modelBuilder.Entity("Entity.Quote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Content") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("IdCharacter") + .HasColumnType("int"); + + b.Property("IdSource") + .HasColumnType("int"); + + b.Property("IdUsersPropose") + .HasColumnType("int"); + + b.Property("IsValid") + .HasColumnType("bit"); + + b.Property("Langage") + .HasColumnType("int"); + + b.Property("Likes") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("IdCharacter"); + + b.HasIndex("IdSource"); + + b.HasIndex("IdUsersPropose"); + + b.ToTable("quotes"); + + b.HasData( + new + { + Id = 1, + Content = "Je n'y crois pas. Je n'y crois pas. Ce n'est pas possible", + IdCharacter = 1, + IdSource = 1, + IdUsersPropose = 1, + IsValid = true, + Langage = 1, + Likes = 11025 + }, + new + { + Id = 2, + Content = "There is always hope", + IdCharacter = 2, + IdSource = 2, + IdUsersPropose = 1, + IsValid = true, + Langage = 0, + Likes = 11025 + }, + new + { + Id = 3, + Content = "A red sun rises. Blood has been spilled this night.", + IdCharacter = 3, + IdSource = 2, + IdUsersPropose = 1, + IsValid = true, + Langage = 0, + Likes = 11025 + }, + new + { + Id = 4, + Content = "I wish the Ring had never come to me.I wish none of this had happened.", + IdCharacter = 4, + IdSource = 2, + IdUsersPropose = 1, + IsValid = true, + Langage = 0, + Likes = 11025 + }, + new + { + Id = 5, + Content = "Dobby is a free elf!", + IdCharacter = 5, + IdSource = 4, + IdUsersPropose = 1, + IsValid = true, + Langage = 0, + Likes = 11025 + }, + new + { + Id = 6, + Content = "Winter is comming", + IdCharacter = 6, + IdSource = 3, + IdUsersPropose = 1, + IsValid = true, + Langage = 0, + Likes = 11025 + }, + new + { + Id = 7, + Content = "Je suis la dernière Targaryen. Je suis la reine des dragons", + IdCharacter = 7, + IdSource = 3, + IdUsersPropose = 1, + IsValid = true, + Langage = 1, + Likes = 11025 + }, + new + { + Id = 8, + Content = "Je ne suis pas prêt à affronter ça. C'est trop pour moi.", + IdCharacter = 8, + IdSource = 5, + IdUsersPropose = 1, + IsValid = true, + Langage = 1, + Likes = 11025 + }, + new + { + Id = 9, + Content = "Aidez-moi, Obi-Wan Kenobi, vous êtes mon seul espoir.", + IdCharacter = 9, + IdSource = 5, + IdUsersPropose = 1, + IsValid = true, + Langage = 1, + Likes = 11025 + }, + new + { + Id = 10, + Content = "La quoi ?", + IdCharacter = 10, + IdSource = 4, + IdUsersPropose = 1, + IsValid = true, + Langage = 1, + Likes = 11025 + }); + }); + + modelBuilder.Entity("Entity.Source", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Title") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TypeSrc") + .HasColumnType("int"); + + b.Property("Year") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("sources"); + + b.HasData( + new + { + Id = 1, + Title = "Jurassic Park", + TypeSrc = 0, + Year = 1993 + }, + new + { + Id = 2, + Title = "Le Seigneur des anneaux : La Communauté de l'anneau", + TypeSrc = 0, + Year = 2001 + }, + new + { + Id = 3, + Title = "Game of throne", + TypeSrc = 1, + Year = 2011 + }, + new + { + Id = 4, + Title = "Harry Potter à l'école des sorcier", + TypeSrc = 0, + Year = 1997 + }, + new + { + Id = 5, + Title = "Star Wars, épisode IV : Un nouvel espoir", + TypeSrc = 0, + Year = 1977 + }); + }); + + modelBuilder.Entity("Entity.Users", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Created") + .HasColumnType("date") + .HasColumnName("Created"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("IdImage") + .HasColumnType("int"); + + b.Property("Password") + .IsRequired() + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("UserName") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("IdImage"); + + b.ToTable("users"); + + b.HasData( + new + { + Id = 1, + Created = new DateTime(2025, 5, 12, 0, 0, 0, 0, DateTimeKind.Unspecified), + Email = "jhonDhoe@gmail.com", + IdImage = 1, + Password = "1234", + UserName = "Jhon-Dhoe" + }, + new + { + Id = 2, + Created = new DateTime(2025, 3, 19, 0, 0, 0, 0, DateTimeKind.Unspecified), + Email = "lucy_rose@outlook.com", + IdImage = 2, + Password = "abcd", + UserName = "Lucy-Rose" + }, + new + { + Id = 3, + Created = new DateTime(2024, 11, 2, 0, 0, 0, 0, DateTimeKind.Unspecified), + Email = "mark.taylor@yahoo.com", + IdImage = 3, + Password = "5678", + UserName = "Mark-Taylor" + }, + new + { + Id = 4, + Created = new DateTime(2025, 2, 28, 0, 0, 0, 0, DateTimeKind.Unspecified), + Email = "sophie.martin@gmail.com", + IdImage = 4, + Password = "4321", + UserName = "Sophie-Martin" + }, + new + { + Id = 5, + Created = new DateTime(2025, 1, 15, 0, 0, 0, 0, DateTimeKind.Unspecified), + Email = "nathan_doe@aol.com", + IdImage = 5, + Password = "8765", + UserName = "Nathan-Doe" + }, + new + { + Id = 6, + Created = new DateTime(2025, 4, 7, 0, 0, 0, 0, DateTimeKind.Unspecified), + Email = "ella.brown@icloud.com", + IdImage = 6, + Password = "2468", + UserName = "Ella-Brown" + }, + new + { + Id = 7, + Created = new DateTime(2024, 12, 25, 0, 0, 0, 0, DateTimeKind.Unspecified), + Email = "oliver_smith@gmail.com", + IdImage = 7, + Password = "1357", + UserName = "Oliver-Smith" + }, + new + { + Id = 8, + Created = new DateTime(2025, 3, 5, 0, 0, 0, 0, DateTimeKind.Unspecified), + Email = "mia.jones@outlook.com", + IdImage = 8, + Password = "1122", + UserName = "Mia-Jones" + }, + new + { + Id = 9, + Created = new DateTime(2025, 2, 22, 0, 0, 0, 0, DateTimeKind.Unspecified), + Email = "kevin_williams@aol.com", + IdImage = 9, + Password = "2233", + UserName = "Kevin-Williams" + }, + new + { + Id = 10, + Created = new DateTime(2025, 1, 3, 0, 0, 0, 0, DateTimeKind.Unspecified), + Email = "olivia.white@yahoo.com", + IdImage = 10, + Password = "3344", + UserName = "Olivia-White" + }); + }); + + modelBuilder.Entity("Entity.Admin", b => + { + b.HasOne("Entity.Users", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Entity.Character", b => + { + b.HasOne("Entity.Images", "Images") + .WithMany("Characters") + .HasForeignKey("IdImage") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Images"); + }); + + modelBuilder.Entity("Entity.Commentary", b => + { + b.HasOne("Entity.Quote", "Quote") + .WithMany("Commentarys") + .HasForeignKey("IdQuote") + .OnDelete(DeleteBehavior.ClientCascade) + .IsRequired(); + + b.HasOne("Entity.Users", "User") + .WithMany() + .HasForeignKey("IdUser") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Quote"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Entity.DailyQuote", b => + { + b.HasOne("Entity.Quote", "Quote") + .WithMany("DailyQuotes") + .HasForeignKey("IdQuote") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Quote"); + }); + + modelBuilder.Entity("Entity.Favorite", b => + { + b.HasOne("Entity.Quote", "Quote") + .WithMany() + .HasForeignKey("IdQuote") + .OnDelete(DeleteBehavior.ClientCascade) + .IsRequired(); + + b.HasOne("Entity.Users", "Users") + .WithMany() + .HasForeignKey("IdUsers") + .OnDelete(DeleteBehavior.ClientCascade) + .IsRequired(); + + b.Navigation("Quote"); + + b.Navigation("Users"); + }); + + modelBuilder.Entity("Entity.Quiz", b => + { + b.HasOne("Entity.Images", "Images") + .WithMany("Quizs") + .HasForeignKey("IdImage") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Images"); + }); + + modelBuilder.Entity("Entity.QuizQuestion", b => + { + b.HasOne("Entity.Question", null) + .WithMany() + .HasForeignKey("IdQuestion") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Entity.Quiz", null) + .WithMany() + .HasForeignKey("IdQuiz") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Entity.Quote", b => + { + b.HasOne("Entity.Character", "Character") + .WithMany("Quotes") + .HasForeignKey("IdCharacter") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Entity.Source", "Source") + .WithMany("Quotes") + .HasForeignKey("IdSource") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Entity.Users", "User") + .WithMany("Quotes") + .HasForeignKey("IdUsersPropose"); + + b.Navigation("Character"); + + b.Navigation("Source"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Entity.Users", b => + { + b.HasOne("Entity.Images", "Images") + .WithMany("Users") + .HasForeignKey("IdImage") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Images"); + }); + + modelBuilder.Entity("Entity.Character", b => + { + b.Navigation("Quotes"); + }); + + modelBuilder.Entity("Entity.Images", b => + { + b.Navigation("Characters"); + + b.Navigation("Quizs"); + + b.Navigation("Users"); + }); + + modelBuilder.Entity("Entity.Quote", b => + { + b.Navigation("Commentarys"); + + b.Navigation("DailyQuotes"); + }); + + modelBuilder.Entity("Entity.Source", b => + { + b.Navigation("Quotes"); + }); + + modelBuilder.Entity("Entity.Users", b => + { + b.Navigation("Quotes"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/WF_EF_Api/StubbedContextLib/Migrations/20250328102709_migr5.cs b/WF_EF_Api/StubbedContextLib/Migrations/20250328102709_migr5.cs new file mode 100644 index 0000000..28c1b1d --- /dev/null +++ b/WF_EF_Api/StubbedContextLib/Migrations/20250328102709_migr5.cs @@ -0,0 +1,126 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace StubbedContextLib.Migrations +{ + /// + public partial class migr5 : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "IsValid", + table: "question", + type: "bit", + nullable: false, + defaultValue: false); + + migrationBuilder.CreateTable( + name: "admins", + columns: table => new + { + IdUsers = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + UserId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_admins", x => x.IdUsers); + table.ForeignKey( + name: "FK_admins_users_UserId", + column: x => x.UserId, + principalTable: "users", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + + migrationBuilder.UpdateData( + table: "question", + keyColumn: "Id", + keyValue: 1, + column: "IsValid", + value: true); + + migrationBuilder.UpdateData( + table: "question", + keyColumn: "Id", + keyValue: 2, + column: "IsValid", + value: false); + + migrationBuilder.UpdateData( + table: "question", + keyColumn: "Id", + keyValue: 3, + column: "IsValid", + value: true); + + migrationBuilder.UpdateData( + table: "question", + keyColumn: "Id", + keyValue: 4, + column: "IsValid", + value: true); + + migrationBuilder.UpdateData( + table: "question", + keyColumn: "Id", + keyValue: 5, + column: "IsValid", + value: true); + + migrationBuilder.UpdateData( + table: "question", + keyColumn: "Id", + keyValue: 6, + column: "IsValid", + value: true); + + migrationBuilder.UpdateData( + table: "question", + keyColumn: "Id", + keyValue: 7, + column: "IsValid", + value: true); + + migrationBuilder.UpdateData( + table: "question", + keyColumn: "Id", + keyValue: 8, + column: "IsValid", + value: true); + + migrationBuilder.UpdateData( + table: "question", + keyColumn: "Id", + keyValue: 9, + column: "IsValid", + value: true); + + migrationBuilder.UpdateData( + table: "question", + keyColumn: "Id", + keyValue: 10, + column: "IsValid", + value: true); + + migrationBuilder.CreateIndex( + name: "IX_admins_UserId", + table: "admins", + column: "UserId"); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropTable( + name: "admins"); + + migrationBuilder.DropColumn( + name: "IsValid", + table: "question"); + } + } +} diff --git a/WF_EF_Api/StubbedContextLib/Migrations/StubWTFContextModelSnapshot.cs b/WF_EF_Api/StubbedContextLib/Migrations/StubWTFContextModelSnapshot.cs index 275cb8a..f07d603 100644 --- a/WF_EF_Api/StubbedContextLib/Migrations/StubWTFContextModelSnapshot.cs +++ b/WF_EF_Api/StubbedContextLib/Migrations/StubWTFContextModelSnapshot.cs @@ -22,6 +22,24 @@ namespace StubbedContextLib.Migrations SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + modelBuilder.Entity("Entity.Admin", b => + { + b.Property("IdUsers") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("IdUsers")); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("IdUsers"); + + b.HasIndex("UserId"); + + b.ToTable("admins"); + }); + modelBuilder.Entity("Entity.Character", b => { b.Property("Id") @@ -339,6 +357,9 @@ namespace StubbedContextLib.Migrations .HasMaxLength(1) .HasColumnType("nvarchar(1)"); + b.Property("IsValid") + .HasColumnType("bit"); + b.Property("Text") .IsRequired() .HasMaxLength(200) @@ -357,6 +378,7 @@ namespace StubbedContextLib.Migrations AnswerC = "Frodon", AnswerD = "Gandalf", CorrectAnswer = "B", + IsValid = true, Text = "Qui est le leader de la Communauté de l'Anneau ?" }, new @@ -367,6 +389,7 @@ namespace StubbedContextLib.Migrations AnswerC = "Serpentard", AnswerD = "Poufsouffle", CorrectAnswer = "B", + IsValid = false, Text = "Dans quelle maison Harry Potter est-il ?" }, new @@ -377,6 +400,7 @@ namespace StubbedContextLib.Migrations AnswerC = "Gollum", AnswerD = "Gothmog", CorrectAnswer = "B", + IsValid = true, Text = "Qui est le Seigneur des Ténèbres dans la saga Le Seigneur des Anneaux ?" }, new @@ -387,6 +411,7 @@ namespace StubbedContextLib.Migrations AnswerC = "Chewbacca", AnswerD = "R2-D2", CorrectAnswer = "A", + IsValid = true, Text = "Dans le film Star Wars : Episode IV, qui sauve Luke Skywalker de l'Étoile de la Mort ?" }, new @@ -397,6 +422,7 @@ namespace StubbedContextLib.Migrations AnswerC = "Edmund", AnswerD = "Lucy", CorrectAnswer = "B", + IsValid = true, Text = "Qui est le souverain de Narnia dans Le Lion, la Sorcière Blanche et l'Armoire Magique ?" }, new @@ -407,6 +433,7 @@ namespace StubbedContextLib.Migrations AnswerC = "Norbert", AnswerD = "Shenron", CorrectAnswer = "A", + IsValid = true, Text = "Quel est le nom du dragon dans Le Hobbit ?" }, new @@ -417,6 +444,7 @@ namespace StubbedContextLib.Migrations AnswerC = "Jacob Black", AnswerD = "Victoria", CorrectAnswer = "A", + IsValid = true, Text = "Qui est la première personne à être mordue par un vampire dans Twilight ?" }, new @@ -427,6 +455,7 @@ namespace StubbedContextLib.Migrations AnswerC = "Han Solo", AnswerD = "Luke Skywalker", CorrectAnswer = "A", + IsValid = true, Text = "Quel personnage dit Que la Force soit avec toi dans Star Wars ?" }, new @@ -437,6 +466,7 @@ namespace StubbedContextLib.Migrations AnswerC = "John Hammond", AnswerD = "Dennis Nedry", CorrectAnswer = "B", + IsValid = true, Text = "Dans Jurassic Park, quel est le nom du paléontologue sur l'île ?" }, new @@ -447,6 +477,7 @@ namespace StubbedContextLib.Migrations AnswerC = "Daenerys Targaryen", AnswerD = "Sansa Stark", CorrectAnswer = "C", + IsValid = true, Text = "Dans Game of Thrones, qui est surnommée la Mère des Dragons ?" }); }); @@ -904,6 +935,17 @@ namespace StubbedContextLib.Migrations }); }); + modelBuilder.Entity("Entity.Admin", b => + { + b.HasOne("Entity.Users", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + modelBuilder.Entity("Entity.Character", b => { b.HasOne("Entity.Images", "Images")