public HttpResponseMessage AddReservation(AddReservationRequestDTO model)
 {
     try
     {
         var result = _reservationService.AddReservation(model);
         return(Request.CreateResponse(HttpStatusCode.OK, result));
     }
     catch (Exception e)
     {
         _logger.Error(e, "GetDetails");
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, e));
     }
 }
Ejemplo n.º 2
0
        public bool AddReservation(Reservation reservation)
        {
            AddReservationRequestDTO addReservationRequestDTO = new AddReservationRequestDTO(reservation);

            return(reservationPortClient.addReservation(addReservationRequestDTO.AddReservationRequest).success);
        }
Ejemplo n.º 3
0
        public ResponseModel <AddReservationResponseDTO> AddReservation(AddReservationRequestDTO dto)
        {
            if (dto == null || dto.User == null)
            {
                return new ResponseModel <AddReservationResponseDTO>()
                       {
                           Code = ResultActionModelCode.NoData, Message = "No data"
                       }
            }
            ;

            using (var unity = _factory.GetUnitOfWork(UnitOfWorkContext.Default))
            {
                var room = unity.GetRepository <Room>().AsQueryable()
                           .FirstOrDefault(x => x.Id == dto.RoomId);

                if (room == null)
                {
                    return new ResponseModel <AddReservationResponseDTO>()
                           {
                               Code = ResultActionModelCode.NoEntityFound, Message = "No enetity found"
                           }
                }
                ;
                var user = unity.GetRepository <User>().AsQueryable()
                           .FirstOrDefault(x => x.FirstName == dto.User.FirstName && x.LastName == dto.User.LastName);
                if (user == null)
                {
                    user = new User()
                    {
                        FirstName = dto.User.FirstName,
                        LastName  = dto.User.LastName
                    };

                    unity.GetRepository <User>().Add(user);
                    unity.SaveChanges();
                }
                var reservation = new Reservation()
                {
                    DateFrom = dto.From,
                    DateTo   = dto.To,
                    Phase    = ReservationPhase.InsertedInformation,
                    Room     = room,
                    Type     = ReservationType.Normal,
                    User     = user
                };
                unity.GetRepository <Reservation>()
                .Add(reservation);
                unity.SaveChanges();
                AddReservationResponseDTO result = new AddReservationResponseDTO()
                {
                    ReservationId = reservation.Id,
                    Room          = new RoomDetailsResponseDTO()
                    {
                        RoomId = room.Id,
                        Price  = room.Price,
                    },
                    User = new UserDetailsModelDTO()
                    {
                        FirstName = user.FirstName,
                        LastName  = user.LastName,
                    }
                };

                return(ResponseModel <AddReservationResponseDTO> .OK(result));
            }
        }