automatisation du choix de persistance + résolution de problème de sauvegarde
continuous-integration/drone/push Build is failing Details

DataBinding
Vianney JOURDY 2 years ago
parent 0e694c13f4
commit 2ea3791430

@ -6,19 +6,31 @@ namespace MangaMap;
public partial class App : Application public partial class App : Application
{ {
//public Manager MyManager { get; private set; } = new Manager(new Stub.Stub()); //pour utiliser le stub comme moyen de persistance. public string FileName { get; set; } = "SauvegardeDonnees.xml";
public Manager MyManager { get; private set; } = new Manager(new Stub.DataContract()); public string FilePath { get; set; } = Path.Combine(AppDomain.CurrentDomain.BaseDirectory);
public Manager MyManager { get; private set; } = new Manager(new Stub.Stub()); //pour utiliser le stub comme moyen de persistance.
public Admin MyAdmin { get; private set; } = new Admin("test", "test@test.ts", "Pseudo_test"); public Admin MyAdmin { get; private set; } = new Admin("test", "test@test.ts", "Pseudo_test");
public App() public App()
{ {
InitializeComponent(); InitializeComponent();
if (File.Exists(Path.Combine(FilePath, FileName)))
{
MyManager = new Manager(new Stub.DataContract()); //pour utiliser le dataContract comme moyen de persistance.
}
MyManager.charger(); MyManager.charger();
MyManager.Admins.Add(MyAdmin); MyManager.Admins.Add(MyAdmin);
MainPage = new AppShell(); MainPage = new AppShell();
//MyManager.Persistance = new DataContract();
if (!File.Exists(Path.Combine(FilePath, FileName)))
{
MyManager.Persistance = new DataContract(); //pour utiliser le stub comme moyen de persistance.
}
MyManager.sauvegarder(); MyManager.sauvegarder();
} }

@ -40,25 +40,27 @@ namespace MangaMap.Stub
{ {
var serializer = new DataContractSerializer(typeof(DataToPersist)); var serializer = new DataContractSerializer(typeof(DataToPersist));
DataToPersist data; if (!Directory.Exists(FilePath))
/*if (File.Exists(Path.Combine(FilePath, FileName))) {
{*/ Debug.WriteLine("Directory doesn't exist.");
using (Stream s = File.OpenRead(Path.Combine(FilePath, FileName))) Directory.CreateDirectory(FilePath);
{
data = serializer.ReadObject(s) as DataToPersist;
}/*
} }
else
/*using (Stream s = File.Create(Path.Combine(FilePath, FileName)))
{ {
data = new DataToPersist(); serializer.WriteObject(s, o); //Version d'enregistrement des données sans indentation.
}*/ }*/
DataToPersist data = new DataToPersist();
data.Oeuvres = o;
data.Utilisateurs = u;
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)))
{ {
using (XmlWriter w = XmlWriter.Create(tw, settings)) using (XmlWriter w = XmlWriter.Create(tw, settings))
{ {
serializer.WriteObject(w, data); // Enregistrer toutes les données dans le fichier serializer.WriteObject(w, data); //Version d'enregistrement des données avec indentation.
} }
} }
} }

Loading…
Cancel
Save