diff --git a/WF_EF_Api/Contextlib/DbUsersManager.cs b/WF_EF_Api/Contextlib/DbUsersManager.cs
index 7c30440..e10ca69 100644
--- a/WF_EF_Api/Contextlib/DbUsersManager.cs
+++ b/WF_EF_Api/Contextlib/DbUsersManager.cs
@@ -129,8 +129,13 @@ namespace Contextlib
return user;
}
- public async Task RemoveUser(Users user)
+ public async Task RemoveUser(int id)
{
+ Users? user = _repo.GetById(id);
+ if (user == null)
+ {
+ throw new KeyNotFoundException($"Error : No users found with the ID: {id}.");
+ }
_repo.Delete(user);
await _context.SaveChangesAsync();
}
diff --git a/WF_EF_Api/Dto2Entities/Extention.cs b/WF_EF_Api/Dto2Entities/Extention.cs
index 09bcb1f..1687d94 100644
--- a/WF_EF_Api/Dto2Entities/Extention.cs
+++ b/WF_EF_Api/Dto2Entities/Extention.cs
@@ -206,7 +206,7 @@ namespace Dto2Entities
user.Password = item.Password;
user.Email = item.Email;
user.date = item.Created;
- user.ImageProfil = item.Images.ImgPath; // image null avec put
+ user.ImageProfil = item.Images.ImgPath;
return user;
}
diff --git a/WF_EF_Api/ServicesApi/UserService.cs b/WF_EF_Api/ServicesApi/UserService.cs
index 6d002c9..3a5cc02 100644
--- a/WF_EF_Api/ServicesApi/UserService.cs
+++ b/WF_EF_Api/ServicesApi/UserService.cs
@@ -82,9 +82,9 @@ namespace ServicesApi
return userService.GetUserByUsername(username).Result.ToDto();
}
- public async Task RemoveUser(UserDTO user)
+ public async Task RemoveUser(int id)
{
- await userService.RemoveUser(user.ToEntity());
+ await userService.RemoveUser(id);
}
public async Task SetAdminRole(bool isAdmin)
diff --git a/WF_EF_Api/Shared/IUserService.cs b/WF_EF_Api/Shared/IUserService.cs
index 74bf04a..e55135a 100644
--- a/WF_EF_Api/Shared/IUserService.cs
+++ b/WF_EF_Api/Shared/IUserService.cs
@@ -39,7 +39,7 @@ namespace Shared
// Removes a user from the system based on their unique identifier ('userId').
// 'userId' is the unique identifier of the user to be removed.
- Task RemoveUser(TUser user);
+ Task RemoveUser(int id);
// Retrieves the hashed password for a given username.
// 'username' is the username for which the password hash is to be retrieved.
diff --git a/WF_EF_Api/StubApi/UserServiceStub.cs b/WF_EF_Api/StubApi/UserServiceStub.cs
index b9c21f8..71fb7f0 100644
--- a/WF_EF_Api/StubApi/UserServiceStub.cs
+++ b/WF_EF_Api/StubApi/UserServiceStub.cs
@@ -92,8 +92,9 @@ namespace StubApi
return _users.FirstOrDefault(u => u.Pseudo == username);
}
- public async Task RemoveUser(UserDTO user)
+ public async Task RemoveUser(int id)
{
+ var user = await GetUserById(id);
_users.Remove(user);
}
diff --git a/WF_EF_Api/StubbedContextLib/Migrations/20250402105029_migration1.Designer.cs b/WF_EF_Api/StubbedContextLib/Migrations/20250402105029_migration1.Designer.cs
new file mode 100644
index 0000000..ca444d0
--- /dev/null
+++ b/WF_EF_Api/StubbedContextLib/Migrations/20250402105029_migration1.Designer.cs
@@ -0,0 +1,1074 @@
+//
+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("20250402105029_migration1")]
+ partial class migration1
+ {
+ ///
+ 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.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 = false,
+ 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.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");
+ });
+
+ 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/20250402105029_migration1.cs b/WF_EF_Api/StubbedContextLib/Migrations/20250402105029_migration1.cs
new file mode 100644
index 0000000..8e69aba
--- /dev/null
+++ b/WF_EF_Api/StubbedContextLib/Migrations/20250402105029_migration1.cs
@@ -0,0 +1,22 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace StubbedContextLib.Migrations
+{
+ ///
+ public partial class migration1 : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+
+ }
+ }
+}
diff --git a/WF_EF_Api/WfApi/Controllers/UsersController.cs b/WF_EF_Api/WfApi/Controllers/UsersController.cs
index ea0f7ec..fac14f8 100644
--- a/WF_EF_Api/WfApi/Controllers/UsersController.cs
+++ b/WF_EF_Api/WfApi/Controllers/UsersController.cs
@@ -638,9 +638,9 @@ namespace WfApi.Controllers
return NotFound(new { message = "Player not found." });
}
- _user.RemoveUser(existingPlayer);
+ await _user.RemoveUser(id);
- return Ok(new { message = $"Player {id} deleted successfully." });
+ return Ok(new { message = $"User {id} deleted successfully." });
}
catch (Exception)
{