class build

pull/10/head
Clement LESME 2 years ago
parent c139a6d653
commit a963b1ea16

@ -11,7 +11,7 @@ public partial class App : Application
public App() public App()
{ {
manager.chargeDonne(); manager.chargeDonne();
manager.Persi = new DataContractPersistance.DataContractPers(); //manager.Persi = new DataContractPersistance.DataContractPers();
manager.sauvegardeDonnee(); manager.sauvegardeDonnee();
Debug.WriteLine(manager.listUtil[0]); Debug.WriteLine(manager.listUtil[0]);
InitializeComponent(); InitializeComponent();

@ -1,6 +1,36 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<DataToPersist xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CanYouBuildIt.DataContractPersistance"> <DataToPersist xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CanYouBuildIt.DataContractPersistance">
<lc xmlns:d2p1="http://schemas.datacontract.org/2004/07/CanYouBuildIt.Model"> <lc xmlns:d2p1="http://schemas.datacontract.org/2004/07/CanYouBuildIt.Model">
<d2p1:Composant>
<d2p1:id>Zalman Z10 Plus</d2p1:id>
<d2p1:lien>https://www.ldlc.com/fiche/PB00502897.html</d2p1:lien>
<d2p1:prix>119.95</d2p1:prix>
<d2p1:type>Boitier</d2p1:type>
</d2p1:Composant>
<d2p1:Composant>
<d2p1:id>Ryzen 5 5800X</d2p1:id>
<d2p1:lien>https://www.amazon.fr/AMD-Ryzen-7-5800X-RyzenTM/dp/B0815XFSGK/</d2p1:lien>
<d2p1:prix>218.98</d2p1:prix>
<d2p1:type>Processeur</d2p1:type>
</d2p1:Composant>
<d2p1:Composant>
<d2p1:id>Cooler Master MasterLiquid ML240L V2 ARGB Black Edition </d2p1:id>
<d2p1:lien>https://www.ldlc.com/fiche/PB00454454.html</d2p1:lien>
<d2p1:prix>89.95</d2p1:prix>
<d2p1:type>Ventirad</d2p1:type>
</d2p1:Composant>
<d2p1:Composant>
<d2p1:id>Gigabyte B550M AORUS ELITE </d2p1:id>
<d2p1:lien>https://www.ldlc.com/fiche/PB00357556.html</d2p1:lien>
<d2p1:prix>129.95</d2p1:prix>
<d2p1:type>CarteMere</d2p1:type>
</d2p1:Composant>
<d2p1:Composant>
<d2p1:id>be quiet! Pure Power 11 600W 80PLUS Gold</d2p1:id>
<d2p1:lien>https://www.ldlc.com/fiche/PB00261005.html</d2p1:lien>
<d2p1:prix>93.95</d2p1:prix>
<d2p1:type>Alimentation</d2p1:type>
</d2p1:Composant>
<d2p1:Composant> <d2p1:Composant>
<d2p1:id>ASUS RTX 3060</d2p1:id> <d2p1:id>ASUS RTX 3060</d2p1:id>
<d2p1:lien>https://www.amazon.fr/ASUS-DUAL-NVIDIA-GeForce-GDDR6/dp/B096658ZWP</d2p1:lien> <d2p1:lien>https://www.amazon.fr/ASUS-DUAL-NVIDIA-GeForce-GDDR6/dp/B096658ZWP</d2p1:lien>
@ -13,6 +43,18 @@
<d2p1:prix>49.99</d2p1:prix> <d2p1:prix>49.99</d2p1:prix>
<d2p1:type>RAM</d2p1:type> <d2p1:type>RAM</d2p1:type>
</d2p1:Composant> </d2p1:Composant>
<d2p1:Composant>
<d2p1:id>Crucial BX500 1 To</d2p1:id>
<d2p1:lien>https://www.ldlc.com/fiche/PB00281733.html</d2p1:lien>
<d2p1:prix>74.95</d2p1:prix>
<d2p1:type>SSD</d2p1:type>
</d2p1:Composant>
<d2p1:Composant>
<d2p1:id>Seagate BarraCuda 2 To (ST2000DM005) </d2p1:id>
<d2p1:lien>https://www.ldlc.com/fiche/PB00254339.html</d2p1:lien>
<d2p1:prix>62.95</d2p1:prix>
<d2p1:type>HDD</d2p1:type>
</d2p1:Composant>
</lc> </lc>
<lu xmlns:d2p1="http://schemas.datacontract.org/2004/07/CanYouBuildIt.Model"> <lu xmlns:d2p1="http://schemas.datacontract.org/2004/07/CanYouBuildIt.Model">
<d2p1:Utilisateur> <d2p1:Utilisateur>

@ -55,6 +55,7 @@ namespace CanYouBuildIt.DataContractPersistance
Directory.CreateDirectory(FilePath); Directory.CreateDirectory(FilePath);
} }
//-- Write fichier --// //-- Write fichier --//
var settings = new XmlWriterSettings() { Indent = true }; var settings = new XmlWriterSettings() { Indent = true };
using (TextWriter tw = File.CreateText(Path.Combine(FilePath, FileName))) using (TextWriter tw = File.CreateText(Path.Combine(FilePath, FileName)))

@ -11,5 +11,6 @@ namespace CanYouBuildIt.DataContractPersistance
{ {
public List<Utilisateur> lu = new List<Utilisateur>(); public List<Utilisateur> lu = new List<Utilisateur>();
public List<Composant> lc = new List<Composant>(); public List<Composant> lc = new List<Composant>();
public List<Build> lb = new List<Build>();
} }
} }

@ -11,29 +11,39 @@ namespace CanYouBuildIt.Model
{ {
public int id { get; private set; } public int id { get; private set; }
public float prix { get; private set; } public float prix { get; private set; }
public List<Composant> listComp { get; private set; } public Composant boitier { get; private set; }
public Composant processeur { get; private set; }
public Composant ventirad { get; private set; }
public Composant cartemere { get; private set; }
public Composant memoirevive { get; private set; }
public Composant cartegraphique { get; private set; }
public Composant alimentation { get; private set; }
public Composant ventilateur { get; private set; }
public Composant SSD { get; private set; }
public Composant HDD { get; private set; }
//public List<Composant> listComp { get; private set; }
public Build(int idBuild, float prixBuild, Composant boitier, Composant processeur, Composant ventirad, Composant cartemere, Composant memoirevive, Composant cartegraphique, Composant alimentation, Composant ventilateur, Composant ssd = null, Composant hdd = null)
public Build(int idBuild, float prixBuild, Composant boitier, Composant processeur, Composant ventirad, Composant cartemere, Composant memoirevive, Composant cartegraphique, Composant alimentation, Composant ventilateur = null, Composant ssd = null, Composant hdd = null)
{ {
id = idBuild; id = idBuild;
prix = prixBuild; prix = prixBuild;
listComp.Add(boitier); this.boitier = boitier;
listComp.Add(processeur); this.processeur = processeur;
listComp.Add(ventirad); this.ventirad = ventirad;
listComp.Add(cartemere); this.cartemere = cartemere;
listComp.Add(memoirevive); this.memoirevive = memoirevive;
listComp.Add(cartegraphique); this.cartegraphique = cartegraphique;
listComp.Add(alimentation); this.alimentation = alimentation;
listComp.Add(ventilateur); if (ventilateur != null)
this.ventilateur = ventilateur;
if (ssd != null) if (ssd != null)
{ this.SSD = ssd;
listComp.Add(ssd);
}
if (hdd != null) if (hdd != null)
{ this.HDD = hdd;
listComp.Add(hdd);
}
} }

@ -13,17 +13,20 @@ namespace CanYouBuildIt.Model
{ {
public List<Utilisateur> listUtil { get; private set; } public List<Utilisateur> listUtil { get; private set; }
public List<Composant> listComp { get; private set; } public List<Composant> listComp { get; private set; }
public List<Build> listBuild { get; private set; }
public IPersistanceManager Persi { get; set; } public IPersistanceManager Persi { get; set; }
public Manager() public Manager()
{ {
listUtil = new List<Utilisateur>(); listUtil = new List<Utilisateur>();
listComp = new List<Composant>(); listComp = new List<Composant>();
listBuild = new List<Build>();
} }
public Manager(IPersistanceManager pers) public Manager(IPersistanceManager pers)
{ {
listUtil = new List<Utilisateur>(); listUtil = new List<Utilisateur>();
listComp = new List<Composant>(); listComp = new List<Composant>();
listBuild = new List<Build>();
Persi = pers; Persi = pers;
} }
@ -32,6 +35,7 @@ namespace CanYouBuildIt.Model
DataToPersist donnee = Persi.chargeDonnee(); DataToPersist donnee = Persi.chargeDonnee();
listUtil.AddRange(donnee.lu); listUtil.AddRange(donnee.lu);
listComp.AddRange(donnee.lc); listComp.AddRange(donnee.lc);
listBuild.AddRange(donnee.lb);
} }
public void sauvegardeDonnee() public void sauvegardeDonnee()
@ -39,6 +43,7 @@ namespace CanYouBuildIt.Model
DataToPersist data = new DataToPersist(); DataToPersist data = new DataToPersist();
data.lu.AddRange(listUtil); data.lu.AddRange(listUtil);
data.lc.AddRange(listComp); data.lc.AddRange(listComp);
data.lb.AddRange(listBuild);
Persi.sauvegardeDonnee(data); Persi.sauvegardeDonnee(data);
} }

@ -16,6 +16,7 @@ namespace CanYouBuildIt.Model
List<Utilisateur> lu = new List<Utilisateur>(); List<Utilisateur> lu = new List<Utilisateur>();
List<Composant> lc = new List<Composant>(); List<Composant> lc = new List<Composant>();
//-- test de chargement de User --//
Utilisateur u1 = new Utilisateur("Clément", "1234"); Utilisateur u1 = new Utilisateur("Clément", "1234");
Utilisateur u2 = new Utilisateur("Vivien", "vivien"); Utilisateur u2 = new Utilisateur("Vivien", "vivien");
Utilisateur u3 = new Utilisateur("Kevin", "0000"); Utilisateur u3 = new Utilisateur("Kevin", "0000");
@ -23,10 +24,18 @@ namespace CanYouBuildIt.Model
lu.Add(u2); lu.Add(u2);
lu.Add(u3); lu.Add(u3);
Composant c1 = new Composant("ASUS RTX 3060", TypeComposant.CarteGraphique, (float)453.99, "https://www.amazon.fr/ASUS-DUAL-NVIDIA-GeForce-GDDR6/dp/B096658ZWP");
Composant c2 = new Composant("Kingston Kit mémoire FURY Beast 16 Go (2 x 8 Go) 3200 MHz DDR4 CL16", TypeComposant.RAM, (float)49.99, "https://www.amazon.fr/Kingston-3200MHz-M%C3%A9moire-KF432C16BBK2-16/dp/B097K2WBL3/"); //-- Test pour 1 build entier --//
lc.Add(c1); lc.Add(new Composant("Zalman Z10 Plus", TypeComposant.Boitier,(float)119.95, "https://www.ldlc.com/fiche/PB00502897.html"));
lc.Add(c2); lc.Add(new Composant("Ryzen 5 5800X",TypeComposant.Processeur,(float)218.98, "https://www.amazon.fr/AMD-Ryzen-7-5800X-RyzenTM/dp/B0815XFSGK/"));
lc.Add(new Composant("Cooler Master MasterLiquid ML240L V2 ARGB Black Edition ",TypeComposant.Ventirad,(float)89.95, "https://www.ldlc.com/fiche/PB00454454.html"));
lc.Add(new Composant("Gigabyte B550M AORUS ELITE ",TypeComposant.CarteMere,(float)129.95, "https://www.ldlc.com/fiche/PB00357556.html"));
lc.Add(new Composant("be quiet! Pure Power 11 600W 80PLUS Gold", TypeComposant.Alimentation,(float)93.95, "https://www.ldlc.com/fiche/PB00261005.html"));
lc.Add(new Composant("ASUS RTX 3060", TypeComposant.CarteGraphique, (float)453.99, "https://www.amazon.fr/ASUS-DUAL-NVIDIA-GeForce-GDDR6/dp/B096658ZWP"));
lc.Add(new Composant("Kingston Kit mémoire FURY Beast 16 Go (2 x 8 Go) 3200 MHz DDR4 CL16", TypeComposant.RAM, (float)49.99, "https://www.amazon.fr/Kingston-3200MHz-M%C3%A9moire-KF432C16BBK2-16/dp/B097K2WBL3/"));
lc.Add(new Composant("Crucial BX500 1 To",TypeComposant.SSD,(float)74.95, "https://www.ldlc.com/fiche/PB00281733.html"));
lc.Add(new Composant("Seagate BarraCuda 2 To (ST2000DM005) ", TypeComposant.HDD,(float)62.95, "https://www.ldlc.com/fiche/PB00254339.html"));
DataToPersist data = new DataToPersist(); DataToPersist data = new DataToPersist();

Loading…
Cancel
Save