public void AddRecord() { Instruction instruction = new Instruction(); Console.WriteLine("Введите название поручения"); while (true) { string result = Console.ReadLine(); if (!String.IsNullOrWhiteSpace(result)) { instruction.Name = result; break; } else { Console.WriteLine("Введена пустая строка!"); } } Console.WriteLine("Введите трудоемкость поручения (часы) "); Regex name = new Regex(@"^[0-9]+$"); while (true) { string result = Console.ReadLine(); if (name.IsMatch(result)) { instruction.Labour = result; break; } else { Console.WriteLine("Данные введены не верно\n"); } } Console.WriteLine("Введите дату выдачи поручения в формате дд.мм.гггг"); Regex date = new Regex(@"^[0-9]{1,2}.[0-9]{1,2}.[0-9]{4}$"); while (true) { string result = Console.ReadLine(); if (date.IsMatch(result)) { DateTime res; if (DateTime.TryParse(result, out res)) { instruction.IssueDate = result; break; } } Console.WriteLine("Данные введены не верно\n"); } Console.WriteLine("Введите дату плановую дату окончания в формате дд.мм.гггг"); while (true) { string result = Console.ReadLine(); if (date.IsMatch(result)) { DateTime res; if (DateTime.TryParse(result, out res)) { instruction.PlanEndDate = result; break; } } Console.WriteLine("Данные введены не верно\n"); } Console.WriteLine("Введите дату реальную дату окончания в формате дд.мм.гггг. Если работа еще выполняется, введите 0"); while (true) { string result = Console.ReadLine(); if (result == "0") { instruction.RealEndDate = "В процессе выполнения"; break; } if (date.IsMatch(result)) { DateTime res; if (DateTime.TryParse(result, out res)) { instruction.RealEndDate = result; break; } } Console.WriteLine("Данные введены не верно\n"); } Console.WriteLine("К какому сотруднику будет привязано поручение? Введите его номер из списка ниже"); int count = ReaderWriter.ReadWorkersWithNumbers(); if (count == 0) { Console.WriteLine("Ни одного работника не существует!"); return; } while (true) { string result = Console.ReadKey().KeyChar.ToString(); Console.WriteLine(); Regex numWorker = new Regex(@"[0-9]+"); if (numWorker.IsMatch(result)) { int res = int.Parse(result); if (res > 0 && res <= count) { string worker = ReaderWriter.GetWorkerByNumber(res); if (worker != null) { instruction.Worker = worker; break; } } Console.WriteLine("Введен некорректный номер!"); } } ReaderWriter.WriteInstruction(instruction); Console.WriteLine("Запись успешно добавлена!\n\n"); }