/// <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; } } }
/// <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; } }