correction serializer

code
Vivien DUFOUR 2 years ago
parent b3db1aec47
commit 84f7288478

@ -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<Partition>, List<Utilisateur>) chargeDonnees()
{
var serializerU = new DataContractSerializer(typeof(Utilisateur));
var serializerP = new DataContractSerializer(typeof(List<Partition>));
var serializerU = new DataContractSerializer(typeof(List<Utilisateur>), new[] { typeof(Partition) });
List<Utilisateur> util = new List<Utilisateur>();
List<Partition> partitions = new List<Partition>();
List<Utilisateur> utilisateurs = new List<Utilisateur>();
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<Utilisateur>;
using (Stream stream = File.OpenRead(pathP))
{
partitions = serializerP.ReadObject(stream) as List<Partition>;
}
}
string pathU = Path.Combine(FilePath, FileNameU);
if (File.Exists(pathU))
{
using (Stream stream = File.OpenRead(pathU))
{
utilisateurs = serializerU.ReadObject(stream) as List<Utilisateur>;
}
}
return (new List<Partition>(), util);
return (partitions, utilisateurs);
}
public void sauvegardeDonnees(List<Partition> p, List<Utilisateur> u)
{
var serializerU = new DataContractSerializer(typeof(Utilisateur));
var serializerP = new DataContractSerializer(typeof(List<Partition>));
var serializerU = new DataContractSerializer(typeof(List<Utilisateur>), 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);
}
}
}
}
}

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

Loading…
Cancel
Save