diff --git a/MusiLib/MusiLib/DataContractPersistance/DataContractPers.cs b/MusiLib/MusiLib/DataContractPersistance/DataContractPers.cs index f1be45d..50e80ca 100644 --- a/MusiLib/MusiLib/DataContractPersistance/DataContractPers.cs +++ b/MusiLib/MusiLib/DataContractPersistance/DataContractPers.cs @@ -3,6 +3,7 @@ using MusiLib.Model; using System; using System.Collections.Generic; using System.Diagnostics; +using System.IO; using System.Linq; using System.Runtime.Serialization; using System.Text; @@ -18,23 +19,37 @@ namespace MusiLib.DataContractPersistance public (List, List) chargeDonnees() { - - var serializerU = new DataContractSerializer(typeof(Utilisateur)); + var serializerP = new DataContractSerializer(typeof(List)); + var serializerU = new DataContractSerializer(typeof(List), new[] { typeof(Partition) }); - List util = new List(); + List partitions = new List(); + List utilisateurs = new List(); - using (Stream stream = File.OpenRead(Path.Combine(FilePath, FileNameU))) + string pathP = Path.Combine(FilePath, FileNameP); + if (File.Exists(pathP)) { - util = serializerU.ReadObject(stream) as List; + using (Stream stream = File.OpenRead(pathP)) + { + partitions = serializerP.ReadObject(stream) as List; + } + } + + string pathU = Path.Combine(FilePath, FileNameU); + if (File.Exists(pathU)) + { + using (Stream stream = File.OpenRead(pathU)) + { + utilisateurs = serializerU.ReadObject(stream) as List; + } } - return (new List(), util); + return (partitions, utilisateurs); } public void sauvegardeDonnees(List p, List u) { - - var serializerU = new DataContractSerializer(typeof(Utilisateur)); + var serializerP = new DataContractSerializer(typeof(List)); + var serializerU = new DataContractSerializer(typeof(List), new[] { typeof(Partition) }); if (!Directory.Exists(FilePath)) { @@ -42,13 +57,16 @@ namespace MusiLib.DataContractPersistance System.Diagnostics.Debug.WriteLine(FilePath); Directory.CreateDirectory(FilePath); } - else + + using (Stream stream = File.Create(Path.Combine(FilePath, FileNameP))) { - using (Stream stream = File.Create(Path.Combine(FilePath, FileNameU))) - { - serializerU.WriteObject(stream, u); - } + serializerP.WriteObject(stream, p); + } + + using (Stream stream = File.Create(Path.Combine(FilePath, FileNameU))) + { + serializerU.WriteObject(stream, u); } } } -} +} \ No newline at end of file diff --git a/MusiLib/MusiLib/Views/IPlayMusic.cs b/MusiLib/MusiLib/Views/IPlayMusic.cs index 8582c9e..bf5b386 100644 --- a/MusiLib/MusiLib/Views/IPlayMusic.cs +++ b/MusiLib/MusiLib/Views/IPlayMusic.cs @@ -30,7 +30,10 @@ namespace MusiLib.Views public static void stopMusic() { - player.Stop(); + if(isMusicPlaying) + { + player.Stop(); + } isMusicPlaying = false; isMusicBeginning = false; }