Ejemplo n.º 1
0
        public ActionResult <IEnumerable <ReservationDto> > CreateReservationsForRestaurant(
            [FromRoute] int restaurantId,
            [FromBody] ReservationCreationDto reservationCreationDto)
        {
            var reservation = this.Mapper.Map <Reservation>(reservationCreationDto);

            this.ReservationRepository.CreateReservation(restaurantId, reservation);

            return(Ok(this.Mapper.Map <ReservationDto>(reservation)));
        }
Ejemplo n.º 2
0
 public IActionResult AddReservation(ReservationCreationDto reservation)
 {
     try
     {
         Reservation res = _mapper.Map <Reservation>(reservation);
         res = _reservationService.AddReservation(res);
         return(CreatedAtRoute("GetReservation", new { id = res.Id }, res));
     }
     catch (Exception ex)
     {
         return(StatusCode(StatusCodes.Status500InternalServerError, ex.Message));
     }
 }
        public Reservation Create(ReservationCreationDto reservationCreationDto)
        {
            var room  = _roomsService.GetRoom(reservationCreationDto.RoomId);
            var price = room.Price * (int)(reservationCreationDto.EndDate - reservationCreationDto.StartDate).TotalDays;

            var reservation = new Reservation
            {
                RoomId    = reservationCreationDto.RoomId,
                UserId    = reservationCreationDto.UserId,
                StartDate = reservationCreationDto.StartDate,
                EndDate   = reservationCreationDto.EndDate,
                Status    = ReservationStatus.Pending,
                Price     = price
            };

            var reservationEntity  = _mapper.Map <ReservationEntity>(reservation);
            var createdEntity      = _reservationRepository.Create(reservationEntity);
            var createdReservation = _mapper.Map <Reservation>(createdEntity);

            _emailService.SendReservationPlacedNotification(reservation);

            return(createdReservation);
        }