Beispiel #1
0
 public IActionResult CreateHouse(HouseModel model)
 {
     houseService.CreateHouseAsync(new House {
         Name = model.Name, Address = new Address {
             City = model.City, DoorNo = model.DoorNo, FloorNo = model.Floor, HouseNo = model.HouseNo, Street = model.Street, ZipCode = model.ZipCode
         }
     }, AccountModel.GetInstace().Session).Wait();
     return(Home());
 }
Beispiel #2
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
            }));
        }