public void UpdateEmployee(string name, string email, string Role, string UserId) { var employee = GetEmployee(UserId); if (Role == "Driver") { var driver = DriverRepository.GetById(employee.Id); driver.SetName(name); driver.SetEmail(email); DriverRepository.Update(driver); } else if (Role == "Supervisor") { var supervisor = SupervisorRepository.GetById(employee.Id); supervisor.SetEmail(email); supervisor.SetName(name); SupervisorRepository.Update(supervisor); } else if (Role == "Dispatcher") { var dispatcher = DispatcherRepository.GetById(employee.Id); dispatcher.SetName(name); dispatcher.SetEmail(email); DispatcherRepository.Update(dispatcher); } }
public async Task <DispatcherResponse> UpdateAsync(int id, Dispatcher dispatcher) { var existing = await _dispatcherRepository.FindById(id); if (existing == null) { return(new DispatcherResponse("Dispatcher not found")); } existing.Name = dispatcher.Name; try { _dispatcherRepository.Update(existing); await _unitOfWork.CompleteAsync(); return(new DispatcherResponse(existing)); } catch (Exception e) { return(new DispatcherResponse($"An error ocurred while updating the Dispatcher: {e.Message}")); } }