internal static void Choice(Notebook noteBook) //выбор пункта основного меню { byte choice; Console.Write("\nЯ хочу "); try { choice = byte.Parse(Console.ReadLine()); switch (choice) { case 1: Console.Clear(); Console.WriteLine("***Создание новой записи***\n"); noteBook.CreateNewNote(); break; case 2: Console.Clear(); noteBook.ReadNote(); break; case 3: Console.Clear(); Console.WriteLine("***Редактирование ранее созданных записей***\n"); if (noteBook.listOfNotes.Count == 0) { Console.WriteLine( "Записи не найдены!\nНажмите любую клавишу, чтобы вернуться в главное меню."); ToMainMenu(noteBook); break; } Console.WriteLine("Список записей: "); for (var i = 0; i < noteBook.listOfNotes.Count; i++) { var note = noteBook.listOfNotes[i]; Console.WriteLine(" {0}. {1} {2}, {3} ({4} - идентификационный номер записи);", i + 1, note.surname, note.name, note.phoneNumber, note.notesNumber); } Console.Write( "\nВведите идентификационный номер записи, которую вы желаете изменить, или 0, чтобы вернуться в главное меню: "); var desiredNote = noteBook.GetNote(); if (desiredNote == null) { Console.WriteLine( "\nЗапись с данным номером не найдена.\nНажмите любую клавишу, чтобы вернуться в главное меню."); ToMainMenu(noteBook); } else { noteBook.EditNote(desiredNote); } break; case 4: Console.Clear(); Console.WriteLine("***Просмотр всех записей***\n"); noteBook.ShowAllNotes(); if (noteBook.listOfNotes.Count != 0) { Console.WriteLine("\nНажмите любую клавишу, чтобы вернуться в главное меню."); ToMainMenu(noteBook); } break; case 5: Console.Clear(); noteBook.DeleteNote(); break; case 0: Console.Clear(); Console.WriteLine("До новых встреч!\nНажмите любую клавишу для выхода."); Console.ReadKey(); Environment.Exit(0); break; default: Console.Write("\nВведённый Вами символ некорректен! \nПопробуйте ещё раз.\n"); Choice(noteBook); break; } } catch (Exception e) { Console.Write("\nВведённый Вами символ некорректен! \nПопробуйте ещё раз.\n"); Choice(noteBook); } }
public static void Editor() { var foundId = Finder(); Console.WriteLine("Введите Id записи, которую надо редактировать"); var userInput = Console.ReadLine(); int id; while (!(int.TryParse(userInput, out id) && foundId.Contains(id))) { Console.WriteLine("Некорректный ввод!"); Console.Write("Попробуй еще раз: "); userInput = Console.ReadLine(); } var note = Notebook.GetNoteToEdit(id); string input; Console.WriteLine($"Текущая фамилия: {note.Surname}"); Console.Write("Введите новую фамилию (чтобы оставить фамилию неизменной, введите \"-\"): "); input = Console.ReadLine(); if (input != "-") { note.Surname = input; } Console.WriteLine($"Текущее имя: {note.Name}"); Console.Write("Введите новое имя (чтобы оставить имя неизменным, введите \"-\"): "); input = Console.ReadLine(); if (input != "-") { note.Name = input; } Console.WriteLine($"Текущее отчество: {note.Lastname}"); Console.Write("Введите новое отчество (чтобы оставить отчество неизменным, введите \"-\"): "); input = Console.ReadLine(); if (input != "-") { note.Lastname = input; } Console.WriteLine($"Текущий телефон: {note.PhoneNumber}"); Console.Write("Введите новый телефон (чтобы оставить телефон неизменным, введите \"-\"): "); input = Console.ReadLine(); if (input != "-") { note.PhoneNumber = input; } Console.WriteLine($"Текущая страна: {note.Country}"); Console.Write("Введите новую фамилию (чтобы оставить страну неизменной, введите \"-\"): "); input = Console.ReadLine(); if (input != "-") { note.Country = input; } Console.WriteLine($"Текущая дата рождения: {note.Birthdate}"); Console.Write("Введите новую дату рождения (чтобы оставить страну неизменной, введите \"-\"): "); input = Console.ReadLine(); if (input != "-") { note.Birthdate = input; } Console.WriteLine($"Текущая организация: {note.Organization}"); Console.Write("Введите новую организацию (чтобы оставить организацию неизменной, введите \"-\"): "); input = Console.ReadLine(); if (input != "-") { note.Organization = input; } Console.WriteLine($"Текущая должность: {note.Position}"); Console.Write("Введите новую должность (чтобы оставить должность неизменной, введите \"-\"): "); input = Console.ReadLine(); if (input != "-") { note.Position = input; } Console.WriteLine($"Текущая заметка: {note.OtherNotes}"); Console.Write("Введите новую заметку (чтобы оставить заметку неизменной, введите \"-\"): "); input = Console.ReadLine(); if (input != "-") { note.OtherNotes = input; } Console.Clear(); Console.WriteLine("Поздравляю, запись успешно обновлена!\n"); PrintInfo(); }
EditNoteChoice(ref Note note, Notebook noteBook) //выбор пункта меню редактирования ранее созданных записей { byte choice; Console.Write("\nЯ хочу изменить поле "); try { choice = byte.Parse(Console.ReadLine()); switch (choice) { case 1: Console.Write("\nИзмените фамилию: "); var surname = Console.ReadLine(); surname = CheckNameString(surname, new[] { '-' }); note.surname = surname; break; case 2: Console.Write("\nИзмените имя: "); var name = Console.ReadLine(); name = CheckNameString(name, new[] { '-' }); note.name = name; break; case 3: Console.Write("\nИзмените отчество: "); var patronymic = Console.ReadLine(); patronymic = CheckNameString(patronymic, new char[] { }); note.patronymic = patronymic; break; case 4: Console.Write("\nИзмените номер телефона: "); var phoneNumber = Console.ReadLine(); long phoneNumberCheck; while (long.TryParse(phoneNumber, out phoneNumberCheck) != true) { Console.Write("\nВведённый Вами символ некорректен!\nПопробуйте ещё раз: "); phoneNumber = Console.ReadLine(); } note.phoneNumber = phoneNumber; break; case 5: Console.Write("\nИзмените название страны: "); var country = Console.ReadLine(); country = CheckNameString(country, new[] { '-', ' ' }); note.country = country; break; case 6: Console.Write("\nИзмените дату рождения: (ДД.MM.ГГГГ): "); var birthDateString = Console.ReadLine(); while (true) { if (birthDateString.Any(c => !char.IsDigit(c) && c != '.') || birthDateString[2] != '.' || birthDateString[5] != '.' || birthDateString.Length != 10) { Console.Write("Введённые Вами данные недопустимы!\nПопробуйте ещё раз: "); birthDateString = Console.ReadLine(); } else { break; } } var birthDate = DateTime.ParseExact(birthDateString, "dd.MM.yyyy", null); note.birthDate = birthDate; break; case 7: Console.Write("\nИзмените название организации: "); var organization = Console.ReadLine(); ; note.organization = organization; break; case 8: Console.Write("\nИзмените название должности: "); var position = Console.ReadLine(); note.position = position; break; case 9: Console.Write("\nИзмените текст заметки: "); var notes = Console.ReadLine(); note.notes = notes; break; case 0: Console.Clear(); Menu(); Choice(noteBook); Console.ReadKey(); break; default: Console.Write("\nВведённый Вами символ некорректен! \nПопробуйте ещё раз.\n"); Choice(noteBook); break; } } catch (FormatException e) { Console.Write("\nВведённый Вами символ некорректен! \nПопробуйте ещё раз.\n"); Choice(noteBook); } return(note); }