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 } }); }
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)); }
public static CreateHouseDto CreateHouseRequestToCreateHouseDto(this CreateHouseRequest createHouseRequest) => ConvertCreateHouseRequestToCreateHouseDto(createHouseRequest);
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 })); }