/// <summary> /// Append worker to department and set his "department" field with current deparment name. /// </summary> /// <param name="worker"></param> public void AppendWorker(Worker worker) { worker.ChangeDepartment(DepartmentName); if (WorkerList.Count < 1) { worker.ChangeID(1); } else { worker.ChangeID(WorkerList[WorkerList.Count - 1].ID + 1); } WorkerList.Add(worker); }
/// <summary> /// Change specified parameters of Worker instance. /// </summary> /// <param name="worker">Worker instance</param> public static void RewriteWorker(Worker worker) { int mode = -1; while (mode < 0 || mode > 7) { Console.WriteLine("Значение какого параметра вы хотите редактировать?"); Console.WriteLine("1 - Имя."); Console.WriteLine("2 - Фамилия."); Console.WriteLine("3 - ID"); Console.WriteLine("4 - Заработная плата"); Console.WriteLine("5 - Возраст"); Console.WriteLine("6 - Департамент."); Console.WriteLine("7 - Количество закрепленных проэктов."); Console.WriteLine("0 - Выход."); Int32.TryParse(Console.ReadLine(), out mode); } switch (mode) { case 1: { Console.WriteLine("Введите новое имя: "); worker.ChangeFirstName(Console.ReadLine()); Console.WriteLine("Готово!"); break; } case 2: { Console.WriteLine("Введите новую фамилию: "); worker.ChangeSecondName(Console.ReadLine()); Console.WriteLine("Готово!"); break; } case 3: { uint ID = 0; while (ID == 0) { Console.WriteLine("Введите новый ID (больше 0): "); uint.TryParse(Console.ReadLine(), out ID); } worker.ChangeID(ID); Console.WriteLine("Готово!"); break; } case 4: { uint salary = 0; while (salary == 0) { Console.WriteLine("Введите новое значение заработной платы: "); uint.TryParse(Console.ReadLine(), out salary); } worker.ChangeSalary(salary); Console.WriteLine("Готово!"); break; } case 5: { byte age = 0; while (age == 0) { Console.WriteLine("Введите количество полных лет: "); Byte.TryParse(Console.ReadLine(), out age); } worker.ChangeAge(age); Console.WriteLine("Готово!"); break; } case 6: { Console.WriteLine("Введите новое название департамента для работника: "); worker.ChangeDepartment(Console.ReadLine()); Console.WriteLine("Готово!"); break; } case 7: { int prCount = -1; while (prCount == -1) { Console.WriteLine("Введите новое количество закрепленных проэктов за работником: "); Int32.TryParse(Console.ReadLine(), out prCount); } worker.ChangeProjectCount((byte)prCount); Console.WriteLine("Готово!"); break; } case 0: break; default: break; } }