Exemplo n.º 1
0
 private static CreateHouseDto ConvertCreateHouseRequestToCreateHouseDto(CreateHouseRequest createHouseRequest)
 {
     return(new CreateHouseDto
     {
         House = new HouseDto
         {
             HouseNumber = createHouseRequest.HouseNumber,
             StreetName = createHouseRequest.StreetName,
             City = createHouseRequest.City,
             Country = createHouseRequest.Country,
             PostCode = createHouseRequest.PostCode
         }
     });
 }
Exemplo n.º 2
0
        public async Task <IActionResult> Create([FromBody] CreateHouseRequest request)
        {
            Result <HouseDto> result = await _houseApplicationService.CreateHouseAsync(request.OwnerId, request.Name, request.Address, request.Area);

            return(result.Succeed ? Success(result.Data) : Fail(result.Code, result.Message));
        }
Exemplo n.º 3
0
 public static CreateHouseDto CreateHouseRequestToCreateHouseDto(this CreateHouseRequest createHouseRequest) =>
 ConvertCreateHouseRequestToCreateHouseDto(createHouseRequest);
Exemplo n.º 4
0
        public async Task <IActionResult> CreateHouse([FromServices] IConfiguration configuration, [FromBody] CreateHouseRequest request)
        {
            if (request is null)
            {
                return(BadRequest(new FailedHouseResponse
                {
                    Status = false,
                    Errors = new[] { "Request should have a valid data." }
                }));
            }

            //Checking all props have values
            if (PropertyHelper.IsAnyPropIsNull(request))
            {
                return(BadRequest(
                           new FailedHouseResponse
                {
                    Status = false,
                    Errors = new[] { "House properties can not be null." }
                }
                           ));
            }

            var creationResult = await _houseService.CreateHouseAsync(request.CreateHouseRequestToCreateHouseDto());

            if (!creationResult.Status)
            {
                if (creationResult.ServerError)
                {
                    return(StatusCode(500));
                }

                return(BadRequest(new FailedHouseResponse
                {
                    Status = creationResult.Status,
                    Errors = creationResult.Errors
                }));
            }

            string itemUrl =
                $"{configuration["ApplicationHostAddress"]}/{ApiRoutes.HouseRoute.HouseV1}/{creationResult.House.Id}";

            return(Created(
                       new Uri(itemUrl),
                       new SuccessHouseCreationResponse
            {
                Id = creationResult.House.Id,
                HouseNumber = creationResult.House.HouseNumber,
                StreetName = creationResult.House.StreetName,
                City = creationResult.House.City,
                Country = creationResult.House.Country,
                PostCode = creationResult.House.PostCode
            }));
        }