public async Task <ActionResult <ReservationReadDto> > CreateReservation(ReservationCreateDto reservationCreateDto) { var reservationModel = _mapper.Map <ReservationModel>(reservationCreateDto); var x = await _repository.CreateReservation(reservationModel); var reservationReadDto = _mapper.Map <ReservationReadDto>(x); if (x != null) { return(CreatedAtRoute(nameof(GetAllReservations), new { Id = x.Id }, reservationReadDto)); } else { return(NoContent()); } }
public ActionResult <ReservationReadDto> CreateReservation([FromQueryAttribute] ReservationCreateDto reservationCreateDto) { Reservation reservationModel = _mapper.Map <Reservation>(reservationCreateDto); try { IsValidReservation(reservationModel.ReservationGuestId, reservationModel.ReservationHostId, reservationModel.ArrivingDate, reservationModel.LeavingDate); } catch (ArgumentException exp) { return(NotFound(exp.Message)); } _reservationRepo.CreateReservation(reservationModel); _reservationRepo.SaveChanges(); ReservationReadDto reservationReadDto = _mapper.Map <ReservationReadDto>(reservationModel); return(CreatedAtRoute(nameof(GetReservationById), new { id = reservationModel.Id }, reservationReadDto)); }