//Tar emot en lista med recept och frågar användaren vilken fil den vill spara till. Om top rad matas in blir det recipes.txt som används. //Om filen finns frågas användaren om den vill skriva över den befintliga filen. Sedan skapas ett RecipeRepository-objekt där metoden "Save" anropas och receptlistan skickas med. public static void SaveRecipes(List<Recipe> recipes) { bool success = false; string saveFileName = null; while (success == false) { Console.Write("Ange filnamnet på den fil du vill spara till. Tom rad sparar till 'recipes.txt': "); saveFileName = Console.ReadLine(); if (string.IsNullOrEmpty(saveFileName) || string.IsNullOrWhiteSpace(saveFileName)) { saveFileName = "recipes.txt"; } if (File.Exists("../../Resources/" + saveFileName)) { bool success2 = false; while (success2 == false) { Console.Write("Vill du skriva över {0}? J/N: ", saveFileName); string verification = Console.ReadLine(); if (verification == "n") { success = false; success2 = true; } else if (verification == "j") { success = true; success2 = true; } } } else { success = true; } } RecipeRepository rr = new RecipeRepository("../../Resources/" + saveFileName); if (recipes != null && recipes.Count > 0) { try { rr.Save(recipes); ChangeConsoleColor("Receptet har sparats", ConsoleColor.DarkGreen); } catch (ApplicationException ae) { ChangeConsoleColor(ae.Message, ConsoleColor.Red); } } else { ChangeConsoleColor("Det finns inga recept att spara", ConsoleColor.Red); } ContinueOnKeyPressed(); }
//Frågar användaren efter vilken fil som ska laddas. Om tom rad anges laddas "recipes.txt". Ett nytt RecipeRepository-objekt skapas med filnamnet som parameter. //RecipeRepository-objektets "Load"-metod används. Om inte filen finns meddelas användaren om det. Om filen finns laddas den med Load-metoden och sparas i en receptlista som returneras. public static List<Recipe> LoadRecipes() { Console.Write("Ange filnamnet på den fil du vill öppna. Tom rad öppnar 'recipes.txt': "); string fileName = Console.ReadLine(); if (string.IsNullOrEmpty(fileName) || string.IsNullOrWhiteSpace(fileName)) { fileName = "recipes.txt"; } List<Recipe> recipeList = new List<Recipe>(); try { RecipeRepository rr = new RecipeRepository("../../Resources/" + fileName); recipeList = rr.Load(); if (recipeList != null) { ChangeConsoleColor("Laddningen lyckades", ConsoleColor.DarkGreen); } } catch (ApplicationException ae) { Console.WriteLine(ae.Message); } ContinueOnKeyPressed(); return recipeList; }