private static void AddEmployee(Settings.DirectorAddEmployeeMenuItem menuAddEmployeeItem) { EmployeeService employeeService = new EmployeeService(employeeRepository); if (menuAddEmployeeItem != Settings.DirectorAddEmployeeMenuItem.Back) { GetLastNameAndSalary(out string lastName, out decimal salary); switch (menuAddEmployeeItem) { case Settings.DirectorAddEmployeeMenuItem.AddDirector: DirectorController directorController = new DirectorController(employeeService); GetBonus(out decimal bonus); directorController.AddDirector(new Director(lastName, salary, bonus)); break; case Settings.DirectorAddEmployeeMenuItem.AddProger: StaffController staffController = new StaffController(employeeService); staffController.AddStaffEmployee(new Proger(lastName, salary)); break; case Settings.DirectorAddEmployeeMenuItem.AddFreelancer: FreelancerController freelancerController = new FreelancerController(employeeService); freelancerController.AddFreelancer(new Freelancer(lastName, salary)); break; default: break; } } }
private static void ShowDirectorAddEmployeeMenu(out Settings.DirectorAddEmployeeMenuItem menuItem) { menuItem = Settings.DirectorAddEmployeeMenuItem.Back; bool isValidInputData = false; while (!isValidInputData) { Console.WriteLine("1) Add director;"); Console.WriteLine("2) Add proger;"); Console.WriteLine("3) Add freelancer;"); Console.WriteLine("4) Back"); isValidInputData = int.TryParse(Console.ReadLine(), out int inputItem) && Enum.IsDefined(typeof(Settings.DirectorAddEmployeeMenuItem), inputItem); if (isValidInputData) { menuItem = (Settings.DirectorAddEmployeeMenuItem)inputItem; } else { Console.WriteLine("Menu item is invalid please try again"); } } }