Exemplo n.º 1
0
        public IList <RoomViewModel> GetRoomModels(SearchRoomModel searchRoomModel)
        {
            var searchRoomCriteria = new SearchRoomCriteria
            {
                Adults          = searchRoomModel.Adults ?? 0,
                Children        = searchRoomModel.Children ?? 0,
                AirConditioning = searchRoomModel.AirConditioning,
                Balcony         = searchRoomModel.Balcony,
                ChildBed        = searchRoomModel.ChildBed,
                WiFi            = searchRoomModel.WiFi
            };

            IList <DataAccess.Entities.Room> rooms = _roomDao.GetRooms(searchRoomCriteria);

            List <int> reservedRoomsIds = _reservationService.GetReservedRoomsIdsByDateRange(searchRoomModel.ReservationStartDate, searchRoomModel.ReservationEndDate);

            List <DataAccess.Entities.Room> availableRooms = rooms.Where(x => !reservedRoomsIds.Contains(x.Id)).ToList();

            List <RoomOptionModel> roomOptions = _roomOptionService.GetRoomOptions(searchRoomCriteria);

            List <DataAccess.Entities.Room> availableRoomsWithSelectedOptions = availableRooms.Where(x => roomOptions.Any(ro => ro.RoomId == x.Id)).ToList();

            List <RoomViewModel> matchRooms = (from room in availableRoomsWithSelectedOptions
                                               join roomOption in roomOptions on room.Id equals roomOption.RoomId
                                               select new RoomViewModel
            {
                RoomModel = new RoomModel
                {
                    Id = room.Id,
                    Name = room.Name,
                    Number = room.Number,
                    MaxPerson = room.MaxPerson,
                    Price = room.Price,
                    RoomOptionModel = roomOption
                },
                TotalPrice = GetTotalPrice(searchRoomModel.ReservationStartDate, searchRoomModel.ReservationEndDate, room.Price)
            }).ToList();

            return(matchRooms);
        }
Exemplo n.º 2
0
        //[TestMethod]
        public void GetHotelList()
        {
            // Initialize Value here for testing
            SearchHotelModel searchHotelModel = InitializeTestingModel.SearchHotelModel("Kuala Lumpur");

            var result = Alphareds.Module.ServiceCall.ExpediaHotelsServiceCall.GetHotelList(searchHotelModel);

            if (result.Errors != null)
            {
                Exception ex = new Exception();
                throw new Exception("An error occur while getting hotel from service: " + System.Environment.NewLine +
                                    result.Errors.ErrorMessage);
            }

            SearchRoomModel searchRoomModel = InitializeTestingModel.SearchRoomHotel(searchHotelModel, result.HotelList.First().hotelId);
            var             roomAvail       = Alphareds.Module.ServiceCall.ExpediaHotelsServiceCall.GetRoomAvailability(searchRoomModel, searchHotelModel);

            if (roomAvail.Errors != null)
            {
                Exception ex = new Exception();
                throw new Exception("An error occur while getting room from service: " + System.Environment.NewLine +
                                    roomAvail.Errors.ErrorMessage);
            }
        }
Exemplo n.º 3
0
        public JsonResult SearchRoom(SearchRoomModel searchRoomModel)
        {
            IList <RoomViewModel> matchRooms = _roomService.GetRoomModels(searchRoomModel);

            return(Json(matchRooms, JsonRequestBehavior.AllowGet));
        }