Feat : Hash set

Popup_qui_marche_pas
BelsethUwU 2 years ago
parent 7201d5e2f6
commit 17f4608a44

@ -26,10 +26,10 @@ namespace StimPersistance
using (XmlWriter writer = XmlWriter.Create(tw, settings)) serializer.WriteObject(writer, games);
}
public void SaveUser(List<User> users)
public void SaveUser(HashSet<User> users)
{
XmlWriterSettings settings = new() { Indent = true };
DataContractSerializer serializer = new(typeof(List<User>));
DataContractSerializer serializer = new(typeof(HashSet<User>));
using (TextWriter tw = File.CreateText("users.xml"))
using (XmlWriter writer = XmlWriter.Create(tw, settings)) serializer.WriteObject(writer, users);
@ -45,12 +45,12 @@ namespace StimPersistance
return new();
}
public List<User> LoadUser()
public HashSet<User> LoadUser()
{
if (File.Exists("users.xml"))
{
DataContractSerializer serializer = new(typeof(List<User>));
using (Stream stream = File.OpenRead("users.xml")) return serializer.ReadObject(stream) as List<User>;
DataContractSerializer serializer = new(typeof(HashSet<User>));
using (Stream stream = File.OpenRead("users.xml")) return serializer.ReadObject(stream) as HashSet<User>;
}
return new();
}

@ -5,9 +5,9 @@ namespace Model
public interface IPersistance
{
public void SaveGame(ObservableCollection<Game> games);
public void SaveUser(List<User> users);
public void SaveUser(HashSet<User> users);
public ObservableCollection<Game> LoadGame();
public List<User> LoadUser();
public HashSet<User> LoadUser();
}
}

@ -1,4 +1,5 @@
using System.Collections.ObjectModel;
using System.Linq;
namespace Model
{
@ -13,7 +14,7 @@ namespace Model
public ObservableCollection<Game> GameList { get;}
public ObservableCollection<Game> ResearchedGame { get; set; }
public User CurrentUser { get; set; }
public List<User> Users { get; set; }
public HashSet<User> Users { get; set; }
public Manager(IPersistance persistance)
{
@ -22,7 +23,10 @@ namespace Model
GameList = persistance.LoadGame();
ResearchedGame = persistance.LoadGame();
Users = persistance.LoadUser();
if (GameList == null) { GameList = new ObservableCollection<Game>();}
if (GameList == null)
{
GameList = new ObservableCollection<Game>();
}
}
public void AddGametoGamesList(Game game)

@ -97,6 +97,10 @@ namespace Model
if (string.IsNullOrWhiteSpace(Username)) return false;
return other != null && Username.Equals(other.Username);
}
public override int GetHashCode()
{
return Username.GetHashCode();
}
public void AddReview(Game game, float rate, string text)
{

@ -43,14 +43,14 @@ namespace StimStub
return tmp;
}
public void SaveUser(List<User> users)
public void SaveUser(HashSet<User> users)
{
foreach (User user in users) if (!users.Contains(user)) users.Add(user);
}
public List<User> LoadUser()
public HashSet<User> LoadUser()
{
List<User> tmp = new();
HashSet<User> tmp = new();
return tmp;
}

Loading…
Cancel
Save