예제 #1
0
        public async Task <IActionResult> UpdateExtra(int id, [FromBody] ExtraForUpdateDto extraForUpdateDto)
        {
            if (extraForUpdateDto == null)
            {
                return(BadRequest());
            }

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

            var extraFromRepo = await _repo.GetExtra(id);

            if (extraFromRepo == null)
            {
                return(NotFound($"Could not find option with an ID of {id}"));
            }

            _mapper.Map(extraForUpdateDto, extraFromRepo);

            if (await _unitOfWork.CompleteAsync())
            {
                return(NoContent());
            }

            throw new Exception($"Updating option {id} failed on save");
        }
예제 #2
0
        public async Task <IActionResult> CreateExtra(int hotelId, [FromBody] ExtraForUpdateDto extraForUpdateDto)
        {
            if (extraForUpdateDto == null)
            {
                return(BadRequest());
            }

/*             if (!ModelState.IsValid)
 *              return BadRequest(ModelState); */

            // retieve the hotel id from the login user

/*             var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value);
 *
 *          var userFromRepo = await _hotelrepo.GetUser(currentUserId); */

            var extraEntity = _mapper.Map <Extra>(extraForUpdateDto);

            extraEntity.HotelId = hotelId;

            _repo.Add(extraEntity);

            if (await _unitOfWork.CompleteAsync())
            {
                var extraToReturn = _mapper.Map <ExtraForUpdateDto>(extraEntity);
                return(CreatedAtRoute("GetExtra", new { id = extraEntity.Id }, extraToReturn));
            }

            throw new Exception("Creating the option or extra failed on save");
        }