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