Example #1
0
        public async Task <IActionResult> CreateNewAmenity([FromBody] AmenitiesForCreateModel model)
        {
            if (await _service.AmenityExists(model.AmenityName))
            {
                ModelState.AddModelError("AmenityName", "AmenityName is already taken.");
            }

            // validate request
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var amenityToCreate = await _service.DevHub_Amenities_Set(model, _baseUserName);


            if (amenityToCreate.AmenityId == 0)
            {
                return(BadRequest());
            }
            else if (amenityToCreate.AmenityId == -1)
            {
                return(StatusCode(409, new { result = "already exist." }));
            }

            return(Ok(amenityToCreate));
        }
Example #2
0
        public async Task <IActionResult> UpdateAmenity([FromBody] AmenitiesForCreateModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var checkAmenity = _service.DevHub_Amenities_Get(model.AmenityId);

            if (checkAmenity == null)
            {
                return(NotFound());
            }

            var amenityToBeUpdated = await _service.DevHub_Amenities_Set(model, _baseUserName);

            if (amenityToBeUpdated.AmenityId != model.AmenityId)
            {
                return(BadRequest());
            }

            else if (amenityToBeUpdated.AmenityId == -2)
            {
                return(StatusCode(409, new { result = "cannot update to existing amenity name." }));
            }

            return(NoContent());
        }
        public async Task <AmenityCreatedModel> DevHub_Amenities_Set(AmenitiesForCreateModel model, string userName)
        {
            using (var con = GetDbConnection(_options.Value.DevHubDBConn))
            {
                var result = await con.QueryAsync <int>("dbo.DevHub_Amenities_Set",
                                                        new
                {
                    @iIntAmenityID          = model.AmenityId,
                    @iStrAmenityName        = model.AmenityName,
                    @iStrAmenityDescription = model.AmenityDescription,
                    @iBitIsBookable         = model.IsBookable,
                    @iStrUserName           = userName,
                },
                                                        commandType : CommandType.StoredProcedure);

                if (result.FirstOrDefault() > 0)
                {
                    var amenityForReturn = await DevHub_Amenities_Get(result.FirstOrDefault());

                    return(new AmenityCreatedModel
                    {
                        AmenityId = amenityForReturn.AmenityId,
                        AmenityName = amenityForReturn.AmenityName
                    });
                }

                return(new AmenityCreatedModel
                {
                    AmenityId = 0,
                    AmenityName = string.Empty
                });
            }
        }
 public async Task <AmenityCreatedModel> DevHub_Amenities_Set(AmenitiesForCreateModel model, string userName)
 {
     return(await _repo.DevHub_Amenities_Set(model, userName));
 }