Propriétés en private dans le manager

Popup_qui_marche_pas
Anthony RICHARD 2 years ago
parent aa04fb266e
commit 7e24778578

@ -1,24 +1,17 @@
using Microsoft.VisualBasic;
using Model;
using StimPersistance;
using Model;
using StimStub;
using System.Diagnostics.CodeAnalysis;
namespace AppConsole
{
[ExcludeFromCodeCoverage]
static class Program
public static class Program
{
public static Manager Manager { get; set; } = new(new Stub());
public static string? choixstr;
public static int choixint;
private static Manager Manager { get; set; } = new(new Stub());
private static string? choixstr;
private static int choixint;
static void Main(string[] args)
{
Program.Menu();
}
private static void Menu()
public static void Main(string[] args)
{
while (choixint != 99)
{
@ -45,8 +38,8 @@ namespace AppConsole
string? name = Console.ReadLine();
Console.WriteLine("Description du jeu : ");
string? description = Console.ReadLine();
string? year="";
int yearint=0;
string? year = "";
int yearint = 0;
while (!int.TryParse(year, out yearint))
{
@ -64,7 +57,7 @@ namespace AppConsole
string? cover = Console.ReadLine();
Console.WriteLine("Lien boutique du jeu : ");
string? lien = Console.ReadLine();
Game game = new(name, description, yearint, new List<string>{ tag1, tag2, tag3 }, cover, lien);
Game game = new(name, description, yearint, new List<string> { tag1, tag2, tag3 }, cover, lien);
Manager.AddGametoGamesList(game);
Console.WriteLine("Jeu suivant ajouté : " + game.Name);
break;
@ -72,12 +65,15 @@ namespace AppConsole
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:
@ -105,12 +101,50 @@ namespace AppConsole
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é !");
find2 = 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:

@ -5,21 +5,17 @@ namespace Model
{
public class Manager
{
public IPersistance Mgrpersistance
{
get { return mgrpersistance; }
set { mgrpersistance = value; }
}
private IPersistance mgrpersistance;
public List<Game> GameList { get; set; }
private readonly IPersistance mgrpersistance;
public IReadOnlyList<Game> GameList => gameList.AsReadOnly();
private List<Game> gameList;
public Game? SelectedGame { get; set; }
public User? CurrentUser { get; set; }
public HashSet<User> Users { get; set; }
public HashSet<User> Users { get; private set; }
public Manager(IPersistance persistance)
{
Mgrpersistance = persistance;
GameList = persistance.LoadGame();
mgrpersistance = persistance;
gameList = persistance.LoadGame();
Users = persistance.LoadUser();
}
@ -41,24 +37,24 @@ namespace Model
public void AddGametoGamesList(Game game)
{
GameList.Add(game);
Mgrpersistance.SaveGame(GameList);
gameList.Add(game);
mgrpersistance.SaveGame(gameList);
}
public void AddUsertoUserList(User user)
{
Users.Add(user);
Mgrpersistance.SaveUser(Users);
mgrpersistance.SaveUser(Users);
}
public void RemoveGameFromGamesList(Game game)
{
GameList.Remove(game);
Mgrpersistance.SaveGame(GameList);
gameList.Remove(game);
mgrpersistance.SaveGame(gameList);
}
public void SaveGames()
{
Mgrpersistance.SaveGame(GameList);
mgrpersistance.SaveGame(gameList);
}
public User? SearchUser(string username)
{
@ -70,7 +66,7 @@ namespace Model
}
public void SaveUser()
{
Mgrpersistance.SaveUser(Users);
mgrpersistance.SaveUser(Users);
}
}
}

@ -24,8 +24,8 @@ public partial class App : Application
if (!(File.Exists(Path.Combine(FileSystem.Current.AppDataDirectory, "games.xml"))))
{
Manager Manager2 = new(new Persistance(FileSystem.Current.AppDataDirectory));
Manager2.GameList = Manager.GameList;
Manager2.Users = Manager2.Users;
foreach (var game in Manager.GameList) Manager2.AddGametoGamesList(game);
foreach (var user in Manager.Users) Manager2.AddUsertoUserList(user);
Manager2.SaveGames();
Manager2.SaveUser();
}

Loading…
Cancel
Save