Exemplo n.º 1
0
        /// <summary>
        /// Метод удаляет записи
        /// </summary>
        public static void Remove()
        {
            Console.Clear();
            Planner.Print();

            Console.WriteLine("\n\nМЕНЮ УДАЛЕНИЯ ЗАПИСЕЙ (нажмите ESC для возврата в главное Меню)\n");

            if (Console.ReadKey(true).Key == ConsoleKey.Escape)
            {
                PlannerMain.Main();
            }
            Console.SetCursorPosition(21, Planner.index + 2);
            Console.Write($"{" ",42}");
            Console.SetCursorPosition(0, Planner.index + 4);

            Console.Write("Введите номер события или интервал для удаления(например: 4 или 1-5): ");
            string[] index = Console.ReadLine().Split('-');

            try
            {
                uint i1 = Convert.ToUInt32(index[0]);

                if (i1 == 0)
                {
                    i1 = 1 / i1;
                }
                if (i1 > Planner.index)
                {
                    i1 = 1 / (i1 - i1);
                }

                uint i2;

                if (index.Length == 1)
                {
                    i2 = i1;
                }
                else
                {
                    i2 = Convert.ToUInt32(index[1]);
                }

                if (i1 > i2)
                {
                    i1 = 1 / (i1 - i1);
                }

                File.Delete(Planner.path);

                for (uint i = 0; i < Planner.index; i++)
                {
                    if (i == i1 - 1)
                    {
                        i = i2;
                    }
                    if (i == Planner.index)
                    {
                        break;
                    }

                    SaveInFile((int)i, Planner.path);
                }

                if (i1 != i2)
                {
                    Console.WriteLine("События успешно удалены!");
                }
                else
                {
                    Console.WriteLine("Событие успешно удалено!");
                }
                Thread.Sleep(4000);
            }
            catch (Exception)
            {
                Console.WriteLine("Неразборчиво написано! Давай еще разок, только теперь как на примере выше");
                Thread.Sleep(4000);
                Remove();
                try
                {
                    throw;
                }
                catch (Exception)
                {
                    PlannerMain.Main();
                    throw;
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Метод редактирует существующие записи
        /// </summary>
        public static void Replace()
        {
            Console.Clear();
            Planner.Print();

            Console.WriteLine("\n\nМЕНЮ РЕДАКТИРОВАНИЯ ЗАПИСЕЙ (нажмите ESC для возврата в главное Меню)\n");

            if (Console.ReadKey(true).Key == ConsoleKey.Escape)
            {
                PlannerMain.Main();
            }
            Console.SetCursorPosition(28, Planner.index + 2);
            Console.Write($"{" ",42}");
            Console.SetCursorPosition(0, Planner.index + 4);

            Console.Write($"Введите номер записи для изменения (1-{Planner.index}): ");
            uint index;

            try
            {
                index = Convert.ToUInt32(Console.ReadLine()) - 1;
                if (index >= Planner.index)
                {
                    throw new OverflowException();
                }
            }
            catch (Exception)
            {
                Console.WriteLine("Неразборчиво написано! Давай еще разок, только теперь как на примере выше");
                Thread.Sleep(4000);
                Replace();
                try
                {
                    throw;
                }
                catch (Exception)
                {
                    PlannerMain.Main();
                    throw;
                }
            }

interNumber:

            Console.Write("Введите номер столбца для изменения (1-6): ");

            uint number;

            try
            {
                number = Convert.ToUInt32(Console.ReadLine());
                if (number < 1 || number > 6)
                {
                    throw new OverflowException();
                }
            }
            catch (Exception)
            {
                Console.WriteLine("Неразборчиво написано! Давай еще разок, только теперь как на примере выше");
                Thread.Sleep(4000);

                Console.Clear();
                Planner.Print();

                Console.WriteLine("\n\nМЕНЮ РЕДАКТИРОВАНИЯ ЗАПИСЕЙ\n");
                Console.WriteLine($"Введите номер записи для изменения (1-{Planner.index}): {index+1}");
                goto interNumber;
            }

internewData:

            Console.Write("Введите новые данные: ");

            string newData = Console.ReadLine();

            switch (number)
            {
            case 1:
                DateTime date;
                try
                {
                    date = Convert.ToDateTime(newData).Add(Planner.daystring[index].Date.TimeOfDay);
                }
                catch (Exception)
                {
                    Console.WriteLine("Неразборчиво написано! Давай еще разок, только теперь как на примере выше");
                    Thread.Sleep(4000);

                    Console.Clear();
                    Planner.Print();

                    Console.WriteLine("\n\nМЕНЮ РЕДАКТИРОВАНИЯ ЗАПИСЕЙ\n");
                    Console.WriteLine($"Введите номер записи для изменения (1-{Planner.index}): {index + 1}");
                    Console.WriteLine($"Введите номер столбца для изменения (1-6): {number}");
                    goto internewData;
                }
                Planner.daystring[index].Date = date;
                File.Delete(Planner.path);
                for (uint i = 0; i < Planner.index; i++)
                {
                    SaveInFile((int)i, Planner.path);
                }
                break;

            case 2:
                try
                {
                    date = Planner.daystring[index].Date.Date.Add(Convert.ToDateTime(newData).TimeOfDay);
                }
                catch (Exception)
                {
                    Console.WriteLine("Неразборчиво написано! Давай еще разок, только теперь как на примере выше");
                    Thread.Sleep(4000);

                    Console.Clear();
                    Planner.Print();

                    Console.WriteLine("\n\nМЕНЮ РЕДАКТИРОВАНИЯ ЗАПИСЕЙ\n");
                    Console.WriteLine($"Введите номер записи для изменения (1-{Planner.index}): {index + 1}");
                    Console.WriteLine($"Введите номер столбца для изменения (1-6): {number}");
                    goto internewData;
                }
                Planner.daystring[index].Date = date;
                File.Delete(Planner.path);
                for (uint i = 0; i < Planner.index; i++)
                {
                    SaveInFile((int)i, Planner.path);
                }
                break;

            case 3:
                Planner.daystring[index].Event = newData;
                File.Delete(Planner.path);
                for (uint i = 0; i < Planner.index; i++)
                {
                    SaveInFile((int)i, Planner.path);
                }
                break;

            case 4:
                try
                {
                    Planner.daystring[index].Duration = Convert.ToUInt32(newData);
                }
                catch (Exception)
                {
                    Console.WriteLine("Неразборчиво написано! Давай еще разок, только теперь как на примере выше");
                    Thread.Sleep(4000);

                    Console.Clear();
                    Planner.Print();

                    Console.WriteLine("\n\nМЕНЮ РЕДАКТИРОВАНИЯ ЗАПИСЕЙ\n");
                    Console.WriteLine($"Введите номер записи для изменения (1-{Planner.index}): {index + 1}");
                    Console.WriteLine($"Введите номер столбца для изменения (1-6): {number}");
                    goto internewData;
                }
                File.Delete(Planner.path);
                for (uint i = 0; i < Planner.index; i++)
                {
                    SaveInFile((int)i, Planner.path);
                }
                break;

            case 5:
                Planner.daystring[index].Place = newData;
                File.Delete(Planner.path);
                for (uint i = 0; i < Planner.index; i++)
                {
                    SaveInFile((int)i, Planner.path);
                }
                break;

            case 6:
                Planner.daystring[index].Note = newData;
                File.Delete(Planner.path);
                for (uint i = 0; i < Planner.index; i++)
                {
                    SaveInFile((int)i, Planner.path);
                }
                break;
            }
        }