コード例 #1
0
 /// <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);
         }
     }
 }
コード例 #2
0
        /// <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);
            }
        }
コード例 #3
0
        /// <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;
                }
            }
        }