correction serializer

code
Vivien DUFOUR 2 years ago
parent b3db1aec47
commit 84f7288478

@ -3,6 +3,7 @@ using MusiLib.Model;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.IO;
using System.Linq; using System.Linq;
using System.Runtime.Serialization; using System.Runtime.Serialization;
using System.Text; using System.Text;
@ -18,23 +19,37 @@ namespace MusiLib.DataContractPersistance
public (List<Partition>, List<Utilisateur>) chargeDonnees() public (List<Partition>, List<Utilisateur>) chargeDonnees()
{ {
var serializerP = new DataContractSerializer(typeof(List<Partition>));
var serializerU = new DataContractSerializer(typeof(List<Utilisateur>), new[] { typeof(Partition) });
var serializerU = new DataContractSerializer(typeof(Utilisateur)); List<Partition> partitions = new List<Partition>();
List<Utilisateur> utilisateurs = new List<Utilisateur>();
List<Utilisateur> util = new List<Utilisateur>(); string pathP = Path.Combine(FilePath, FileNameP);
if (File.Exists(pathP))
{
using (Stream stream = File.OpenRead(pathP))
{
partitions = serializerP.ReadObject(stream) as List<Partition>;
}
}
using (Stream stream = File.OpenRead(Path.Combine(FilePath, FileNameU))) string pathU = Path.Combine(FilePath, FileNameU);
if (File.Exists(pathU))
{
using (Stream stream = File.OpenRead(pathU))
{ {
util = serializerU.ReadObject(stream) as List<Utilisateur>; utilisateurs = serializerU.ReadObject(stream) as List<Utilisateur>;
}
} }
return (new List<Partition>(), util); return (partitions, utilisateurs);
} }
public void sauvegardeDonnees(List<Partition> p, List<Utilisateur> u) public void sauvegardeDonnees(List<Partition> p, List<Utilisateur> u)
{ {
var serializerP = new DataContractSerializer(typeof(List<Partition>));
var serializerU = new DataContractSerializer(typeof(Utilisateur)); var serializerU = new DataContractSerializer(typeof(List<Utilisateur>), new[] { typeof(Partition) });
if (!Directory.Exists(FilePath)) if (!Directory.Exists(FilePath))
{ {
@ -42,13 +57,16 @@ namespace MusiLib.DataContractPersistance
System.Diagnostics.Debug.WriteLine(FilePath); System.Diagnostics.Debug.WriteLine(FilePath);
Directory.CreateDirectory(FilePath); Directory.CreateDirectory(FilePath);
} }
else
using (Stream stream = File.Create(Path.Combine(FilePath, FileNameP)))
{ {
serializerP.WriteObject(stream, p);
}
using (Stream stream = File.Create(Path.Combine(FilePath, FileNameU))) using (Stream stream = File.Create(Path.Combine(FilePath, FileNameU)))
{ {
serializerU.WriteObject(stream, u); serializerU.WriteObject(stream, u);
} }
} }
} }
}
} }

@ -29,8 +29,11 @@ namespace MusiLib.Views
} }
public static void stopMusic() public static void stopMusic()
{
if(isMusicPlaying)
{ {
player.Stop(); player.Stop();
}
isMusicPlaying = false; isMusicPlaying = false;
isMusicBeginning = false; isMusicBeginning = false;
} }

Loading…
Cancel
Save