public async Task <IActionResult> Create([Bind("Id,Name,JobDescription,Number,Department,HourlyPay,Bonus,EmployeeTypeId")] Employee employee) { if (ModelState.IsValid) { EmployeeManagerFactory employeeManagerFactory = new EmployeeManagerFactory(); IEmployeeManager employeeManager = employeeManagerFactory.GetEmployeeMangager(employee.EmployeeTypeId); employee.Bonus = employeeManager.GetBonus(); employee.HourlyPay = employeeManager.GetPay(); _context.Add(employee); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["EmployeeTypeId"] = new SelectList(_context.EmployeeType, "Id", "EmployeeType1", employee.EmployeeTypeId); return(View(employee)); }