You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Dotnet-WebAPI/EFConsole/UsersConsole.cs

121 lines
3.8 KiB

using Microsoft.EntityFrameworkCore;
namespace EFConsole;
class UsersConsole
{
internal static void TestAddUser(AppContext.AppContext db)
{
var newUser = new AppContext.Entities.UserEntity
{
Name = "Pierre",
Email = "pierre@mail.com",
Password = "123456",
ProfilePicture = "https://cdn.pixabay.com/photo/2015/10/05/22/37/blank-profile-picture-973460_960_720.png",
IsAdmin = false
};
db.Users.Add(newUser);
db.SaveChanges();
Console.WriteLine("Utilisateur ajouté avec succès !");
}
internal static void TestGetAllUsers(AppContext.AppContext db)
{
var users = db.Users.ToList();
Console.WriteLine("Liste des utilisateurs :");
foreach (var user in users)
{
Console.WriteLine($"ID : {user.Id}, Nom : {user.Name}, Email : {user.Email}");
}
}
internal static void TestFindUserByMail(AppContext.AppContext db, string userEmail)
{
var userByEmail = db.Users.FirstOrDefault(u => u.Email == userEmail);
if (userByEmail != null)
{
Console.WriteLine($"Utilisateur trouvé par email : {userByEmail.Name}");
}
else
{
Console.WriteLine($"Aucun utilisateur trouvé avec l'email : {userEmail}");
}
}
internal static void TestUpdateUser(AppContext.AppContext db)
{
var userToUpdate = db.Users.FirstOrDefault(u => u.Name == "Pierre");
if (userToUpdate != null)
{
userToUpdate.Name = "Paul";
db.SaveChanges();
Console.WriteLine("Utilisateur mis à jour avec succès !");
}
else
{
Console.WriteLine("Utilisateur non trouvé pour la mise à jour.");
}
}
internal static void TestDeleteUser(AppContext.AppContext db)
{
var userToDelete = db.Users.FirstOrDefault(u => u.Name == "Paul");
if (userToDelete != null)
{
db.Users.Remove(userToDelete);
db.SaveChanges();
Console.WriteLine("Utilisateur supprimé avec succès !");
}
else
{
Console.WriteLine("Utilisateur non trouvé pour la suppression.");
}
}
internal static void TestSearchUsersByName(AppContext.AppContext db, string userName)
{
var usersByName = db.Users.Where(u => u.Name == userName).ToList();
Console.WriteLine($"Utilisateurs avec le nom '{userName}' :");
foreach (var user in usersByName)
{
Console.WriteLine($"ID : {user.Id}, Nom : {user.Name}, Email : {user.Email}");
}
}
internal static void TestGetTacticsOfAllUsers(AppContext.AppContext db)
{
Console.WriteLine("Récupération des tactiques de tous les utilisateurs :");
var users = db.Users.Include(u => u.Tactics).ToList();
foreach (var user in users)
{
Console.WriteLine($"Tactiques de l'utilisateur {user.Name}:");
foreach (var tactic in user.Tactics)
{
Console.WriteLine($"\tID : {tactic.Id}, Nom : {tactic.Name}, Date de création : {tactic.CreationDate}");
}
}
}
internal static void TestGetTacticsOfOneUser(AppContext.AppContext db, int userId)
{
var user = db.Users.Include(u => u.Tactics).FirstOrDefault(u => u.Id == userId);
if (user != null)
{
Console.WriteLine($"Récupération des tactiques de l'utilisateur {user.Name}:");
foreach (var tactic in user.Tactics)
{
Console.WriteLine($"\tID : {tactic.Id}, Nom : {tactic.Name}, Date de création : {tactic.CreationDate}");
}
}
else
{
Console.WriteLine($"Aucun utilisateur trouvé avec l'ID : {userId}");
}
}
}