/// <summary> /// Загрузка ежедневника из файла /// </summary> /// <returns>Ежедненвник, загруженный из файла</returns> public Diary LoadDiary() { Console.Clear(); while (true) { Console.Write("Введите путь загружаемого файла или оставьте пустым для отмены: "); string path = Console.ReadLine(); if (!path.Equals("")) { try { return(Diary.LoadDiary(path)); } catch (Exception e) { Console.WriteLine(e.Message + " Повторите ввод!"); } } else { return(null); } } }
/// <summary> /// Просмотр страниц /// </summary> /// <param name="diary">Просматриваемый ежедневник</param> /// <param name="pageIndex">Индекс страницы</param> /// <returns>Код возврата</returns> public int PageOverviewMenu(Diary diary, int pageIndex) { Console.Clear(); if (pageIndex < 0) { pageIndex = 0; } if (pageIndex >= diary.ListOfPages.Count) { pageIndex = diary.ListOfPages.Count - 1; } Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("ПРОСМОТР СТРАНИЦ"); Console.ResetColor(); if (diary.ListOfPages.Count != 0) { ShowPage(diary.ListOfPages[pageIndex]); if (pageIndex != 0) { Console.WriteLine("<Стрелка влево> Для движение влево по страницам"); } if (pageIndex != diary.ListOfPages.Count - 1) { Console.WriteLine("<Стрелка вправо> Для движения вправо по страницам"); } } else { Console.WriteLine("\nЕжедненик пуст, добвьте страницы"); } Console.WriteLine("\n1. Добавить страницу" + "\n2. Удалить страницу" + "\n3. Сохранить страницу как отдельный файл" + "\n4. Загрузить страницу из файла" + "\n5. Меню списка дел" + "\n6. Меню расписания" + "\n0. НАЗАД"); Console.WriteLine(); ConsoleKey key = Console.ReadKey().Key; switch (key) { case ConsoleKey.D1: case ConsoleKey.NumPad1: diary.AddPage(CreatePage()); PageOverviewMenu(diary, diary.ListOfPages.Count - 1); return(1); case ConsoleKey.D2: case ConsoleKey.NumPad2: diary.DeletePage(pageIndex); PageOverviewMenu(diary, pageIndex); return(2); case ConsoleKey.D3: case ConsoleKey.NumPad3: SavePage(diary.ListOfPages[pageIndex]); PageOverviewMenu(diary, pageIndex); return(3); case ConsoleKey.D4: case ConsoleKey.NumPad4: diary.AddPage(LoadPage()); PageOverviewMenu(diary, diary.ListOfPages.Count - 1); return(4); case ConsoleKey.D5: case ConsoleKey.NumPad5: ToDolistMenu(diary.ListOfPages[pageIndex]); PageOverviewMenu(diary, pageIndex); return(5); case ConsoleKey.D6: case ConsoleKey.NumPad6: SchedualMenu(diary.ListOfPages[pageIndex]); PageOverviewMenu(diary, pageIndex); return(6); case ConsoleKey.LeftArrow: PageOverviewMenu(diary, pageIndex - 1); return(44); case ConsoleKey.RightArrow: PageOverviewMenu(diary, pageIndex + 1); return(66); case ConsoleKey.D0: return(0); case ConsoleKey.NumPad0: return(0); default: PageOverviewMenu(diary, pageIndex); return(-1); } }
/// <summary> /// Работа с ежедневником через консоль /// </summary> public ConsoleWork() { Console.Clear(); Diary CurrentDiary = null; //Ежедневник с которым ведется работа while (true) { bool pass = true; //Если ни один ежедневник не открыт if (CurrentDiary == null) { switch (StartMenu()) { case 1: //Создание нового ежедника Console.Clear(); CurrentDiary = new Diary(); Console.Write("Введите имя нового ежедневника: "); CurrentDiary.Name = Console.ReadLine(); if (CurrentDiary.Name.Replace(" ", "").Equals("")) { CurrentDiary.Name = "NO_NAME"; } Console.Clear(); switch (CreateDiaryMenu()) { case 1: //Создание новой страницы CurrentDiary.AddPage(CreatePage()); Console.Clear(); break; case 2: //Загрузка существующей страницы CurrentDiary.AddPage(LoadPage()); Console.Clear(); break; case 0: //Возврат в главное меню CurrentDiary = null; Console.Clear(); break; } break; case 2: //Загрузка существующего ежедневника CurrentDiary = LoadDiary(); Console.Clear(); break; case 3: //TEST Console.Clear(); break; case 0: //Выход pass = false; break; default: //Ничего Console.Clear(); break; } } else { switch (DiaryMenu(CurrentDiary)) { case 0: //Назад в главное меню while (true) { Console.Clear(); Console.Write("Хотите сохранить данный перед выходом? Все несохраненные данные будут потеряны (Y/N): "); ConsoleKeyInfo key = Console.ReadKey(); if (key.Key == ConsoleKey.N) { break; } else if (key.Key == ConsoleKey.Y) { SaveDiary(CurrentDiary); break; } Console.Clear(); } CurrentDiary = null; break; default: //DiaryMenu(CurrentDiary); break; } } if (!pass) { break; } } }