public async Task <IActionResult> UpdateFlat([FromBody] UpdateFlatRequest request) { if (request is null) { return(BadRequest(new FailedFlatResponse { Errors = new[] { "Request should have a valid data." }, Status = false })); } //Checking all props have values if (PropertyHelper.IsAnyPropIsNull(request)) { return(BadRequest( new FailedFlatResponse { Status = false, Errors = new[] { "Some of properties are null." } } )); } var updateRequestResult = await _flatService.UpdateFlatAsync(request.UpdateFlatRequestToUpdateFlatDto()); if (!updateRequestResult.Status) { if (updateRequestResult.ServerError) { return(StatusCode(500)); } if (updateRequestResult.ItemNotFound) { return(BadRequest(new FailedFlatResponse { Errors = new[] { "Flat not found" }, Status = false })); } return(BadRequest(new FailedFlatResponse { Errors = updateRequestResult.Errors, Status = updateRequestResult.Status })); } return(Ok(new SuccessUpdateFlatResponse { Status = true, Flat = updateRequestResult.Flat })); }