コード例 #1
0
ファイル: FlatController.cs プロジェクト: ice19942335/BBIT
        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
            }));
        }