From d47911bbed215ab7b988e86e2260118d15dd4b2c Mon Sep 17 00:00:00 2001 From: Alexandre Agostinho Date: Thu, 25 May 2023 17:13:07 +0200 Subject: [PATCH] persistance auto strategy --- MCTG/ConsoleApp/Program.cs | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/MCTG/ConsoleApp/Program.cs b/MCTG/ConsoleApp/Program.cs index 11521fa..3a5da0c 100644 --- a/MCTG/ConsoleApp/Program.cs +++ b/MCTG/ConsoleApp/Program.cs @@ -1,20 +1,27 @@ using ConsoleApp; using Model; -using ConsoleApp.Menu; using DataPersistence; -using System.Linq; -using System.Text; using Model.Managers; Console.WriteLine("Hello, World!\n\n"); -//MasterManager masterMgr = new MasterManager(new Stubs()); -MasterManager masterMgr = new MasterManager(new DataContractXML()); -//MasterManager masterMgr = new MasterManager(new DataContractJSON()); +string path = ""; // - path to the save file +string strategy = "xml"; // - strategy is 'xml' or 'json' (/!\ this is case sensitive) -masterMgr.DataMgr.Serializer = new DataContractXML(); -//_masterMgr.Serializer = new DataContractJSON(); +MasterManager masterMgr; +IDataManager dataManager = (strategy == "xml") ? + new DataContractXML(path) + : new DataContractJSON(path); +if (!File.Exists(Path.Combine(path, $"data.{strategy}"))) +{ + masterMgr = new MasterManager(new Stubs()); + masterMgr.DataMgr.Serializer = dataManager; +} +else +{ + masterMgr = new MasterManager(dataManager); +} MenuManager menuMgr = new MenuManager(masterMgr); menuMgr.Loop();