public async Task <EmployeeResponseModel> UpdateAsync(Guid id, EmployeeUpdateModel model) { var newEmployee = _mapper.Map <Employee>(model); var updatedEmployee = await _employeeService.UpdateAsync(id, newEmployee); if (updatedEmployee.CanAccessTheSystem()) { if (await _accountService.Exists(updatedEmployee.Id)) { await _accountService.UpdateAsync(updatedEmployee); } else { await _accountService.CreateAsync(updatedEmployee); } } else { await _accountService.DeleteAsync(updatedEmployee.Id); } return(_mapper.Map <EmployeeResponseModel>(updatedEmployee)); }