public async Task <ActionResult <GetDepartmentOutputDto> > UpdateDepartment([FromBody] UpdateDepartmentInputDto request) { try { var department = await _departmentService.GetDepartmentById(request.Id); if (department == null) { return(BadRequest(new ApiResponse(400, "Department is not existing."))); } var validationResponse = await _departmentService.ValidateUpdateInput(request); if (!validationResponse.IsSuccess) { return(BadRequest(new ApiResponse(validationResponse.StatusCode, validationResponse.Message))); } department.Name = request.Name; department.Description = request.Description; department.ShortName = request.ShortName; department.StatusId = request.StatusId; await _departmentService.UpdateDepartment(department); return(Ok(new ApiResponse(200, "Success"))); } catch { return(BadRequest(new ApiResponse(400, "Something went wrong."))); } }
public async Task <ValidationOutputDto> ValidateUpdateInput(UpdateDepartmentInputDto request) { if (string.IsNullOrEmpty(request.Name)) { return new ValidationOutputDto { IsSuccess = false, Message = "Name is a required field.", StatusCode = 400 } } ; if (string.IsNullOrEmpty(request.Description)) { return new ValidationOutputDto { IsSuccess = false, Message = "Description is a required field.", StatusCode = 400 } } ; if (string.IsNullOrEmpty(request.ShortName)) { return new ValidationOutputDto { IsSuccess = false, Message = "Short Name is a required field.", StatusCode = 400 } } ; return(new ValidationOutputDto { StatusCode = 200, Message = string.Empty, IsSuccess = true }); } } }