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)); }
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)); }