using Model; using StimStub; using System.Diagnostics.CodeAnalysis; namespace AppConsole { [ExcludeFromCodeCoverage] public static class Program { private static Manager Manager { get; set; } = new(new Stub()); public static void Main(string[] args) { string? choixstr; int choixint = 0; while (choixint != 99) { Console.WriteLine("-----MENU PRINCIPAL-----\n" + "1-Ajouter un jeu\n" + "2-Supprimer un jeu\n" + "3-Afficher les jeux\n" + "4-Ajouter un utilisateur\n" + "5-Afficher les utilisateur\n" + "6-Afficher les commentaires d'un jeu\n" + "7-Ajouter un commentaire\n" + "8-Supprimer un commentaire\n" + "9-Ajouter jeu suivis\n" + "10-Supprimer jeu suivis\n" + "99-Quitter"); choixstr = Console.ReadLine(); if (int.TryParse(choixstr, out choixint)) switch (choixint) { case 1: Console.WriteLine("Nom du jeu : "); string? name = Console.ReadLine(); Console.WriteLine("Description du jeu : "); string? description = Console.ReadLine(); string? year = ""; int yearint = 0; while (!int.TryParse(year, out yearint)) { Console.WriteLine("Année du jeu : "); year = Console.ReadLine(); } Console.WriteLine("Tag 1 du jeu : "); string? tag1 = Console.ReadLine(); Console.WriteLine("Tag 2 du jeu : "); string? tag2 = Console.ReadLine(); Console.WriteLine("Tag 3 du jeu : "); string? tag3 = Console.ReadLine(); Console.WriteLine("Cover du jeu : "); string? cover = Console.ReadLine(); Console.WriteLine("Lien boutique du jeu : "); string? lien = Console.ReadLine(); Game game = new(name, description, yearint, new List { tag1, tag2, tag3 }, cover, lien); Manager.AddGametoGamesList(game); Console.WriteLine("Jeu suivant ajouté : " + game.Name); break; case 2: Console.WriteLine("Nom du jeu : "); string? name2 = Console.ReadLine(); bool find = false; foreach (Game g in Manager.GameList) if (g.Name == name2) { Manager.RemoveGameFromGamesList(g); Console.WriteLine("Jeu suivant supprimé : " + g.Name); find = true; break; } if (!find) Console.WriteLine("Jeu suivant introuvable : " + name2); break; case 3: AfficherJeux(); break; case 4: Console.WriteLine("Nom de l'utilisateur : "); string? username = Console.ReadLine(); Console.WriteLine("Image de l'utilisateur : "); string? image = Console.ReadLine(); Console.WriteLine("Biographie de l'utilisateur : "); string? biographie = Console.ReadLine(); Console.WriteLine("Email de l'utilisateur : "); string? email = Console.ReadLine(); Console.WriteLine("Password de l'utilisateur : "); string? password = Console.ReadLine(); User user = new(image, username, biographie, email, password); Manager.AddUsertoUserList(user); Console.WriteLine("Utilisateur suivant ajouté : " + user.Username); break; case 5: AfficherUsers(); break; case 6: Console.WriteLine("Nom du jeu : "); string? name3 = Console.ReadLine(); bool find2 = false; foreach (Game g in Manager.GameList) if (g.Name == name3) { foreach (Review rev in g.Reviews) Console.WriteLine(rev); find2 = true; break; } if (!find2) Console.WriteLine("Jeu suivant introuvable : " + name3); break; case 7: Console.WriteLine("Nom du jeu : "); string? name4 = Console.ReadLine(); bool find3 = false; foreach (Game g in Manager.GameList) if (g.Name == name4) { Console.WriteLine("Votre nom d'utilisateur : "); string? username2 = Console.ReadLine(); int rateint; string? ratestr = ""; while (!int.TryParse(ratestr, out rateint)) ratestr = Console.ReadLine(); Console.WriteLine("Votre commentaire : "); string? revstr = Console.ReadLine(); Review rev = new(username2, rateint, revstr); g.AddReview(rev); Console.WriteLine("Commentaire ajouté !"); find3 = true; break; } if (!find3) Console.WriteLine("Jeu suivant introuvable : " + name4); break; case 8: Console.WriteLine("Nom du jeu : "); string? name5 = Console.ReadLine(); bool find4 = false; foreach (Game g in Manager.GameList) if (g.Name == name5) { Console.WriteLine("Votre nom d'utilisateur : "); string? username2 = Console.ReadLine(); //foreach (Review rev in g.Reviews) if (rev.AuthorName) } break; case 9: break; case 10: break; default: break; } } } private static void AfficherJeux() { foreach (Game game in Manager.GameList) Console.WriteLine(game); } private static void AfficherUsers() { foreach (User user in Manager.Users) Console.WriteLine(user); } } }