public async Task <IActionResult> UpdateSource(int id, [FromBody] UpdateDepartmentDTO source) { try { if (source == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest("Invalid model object")); } var sourceEntity = await _repositoryWrapper.DepartmentRepo.GetDataByIdAsync(id); if (sourceEntity == null) { return(NotFound()); } _mapper.Map(source, sourceEntity); _repositoryWrapper.DepartmentRepo.UpdateData(sourceEntity); await _repositoryWrapper.SaveAsync(); return(Ok("Update successfully!")); } catch (Exception ex) { //_logger.LogError($"Something went wrong inside CreateSources action: {ex.Message}"); if (ex.InnerException != null) { return(BadRequest(ex.Message + "," + ex.InnerException.Message)); } return(BadRequest(ex.Message)); } }
public async Task <Result> UpdateDepartment(UpdateDepartmentDTO dto) { var result = new Result(); try { var department = _repo.GetById <Department>(Convert.ToInt32(dto.Id)); //check if department new and updated name are the same if (department.Name != dto.Name) { //check if department name is valid var validateResult = await _validationService.IsValidDepartmentName(dto.Name); if (!validateResult.IsValid) { result.Message = validateResult.Message; result.ErrorCode = ErrorCode.INVALID_INPUT; return(result); } } //check if department was deleted if (department == null) { result.Message = "Department does not exist."; result.ErrorCode = ErrorCode.DATA_NOT_FOUND; return(result); } department.Name = dto.Name; department.Description = dto.Description ?? ""; _repo.Update(department); await _repo.SaveAsync(); result.Message = "Department has been successfully updated."; result.Success = true; } catch (Exception e) { result.Message = "Error updating department."; result.ErrorCode = ErrorCode.EXCEPTION; _logger.LogError("Error calling UpdateDepartment: {0}", e.Message); } return(result); }