Example #1
0
        public void SearchHotelById()
        {
            //Setup mock data for test
            var mock = this.CreateMockDataTest();
            var productRepository = mock.Object;
            var api = new SearchHotel();

            //Call Service with Interface
            api.AddHotel(productRepository.SearchHotelById(10001));
            api.AddHotel(productRepository.SearchHotelById(10001));
            api.AddHotel(productRepository.SearchHotelById(10002));
            api.AddHotel(productRepository.SearchHotelById(10002));
            api.AddHotel(productRepository.SearchHotelById(10003));
            api.AddHotel(productRepository.SearchHotelById(10003));

            Console.WriteLine("Hotel count : {0}", api.CountHotel);
            Console.WriteLine("Total Price : {0}", api.GetTotalRoomPrice());
            var hotel = api.SearchHotelById(10003);

            Assert.IsTrue(hotel != null, "Not found hotel ");
            if (hotel != null)
            {
                Assert.IsTrue(hotel.HotelName.Equals("Ramsawintanee Bangkok"));
                Assert.IsTrue(hotel.Room.FirstOrDefault(r => r.TotalPrice > 9).TotalPrice == 30);
            }
            //Verify logic
            Assert.AreEqual(6, api.CountHotel);
            Assert.AreEqual(120, api.GetTotalRoomPrice());
        }
Example #2
0
        public JsonResult GetSearchData(SearchHotel Search)
        {
            HotelInformation Hinfo     = new HotelInformation();
            Common           objCommon = new Common();

            return(Json(objCommon.DatasetToJson(Hinfo.GetSearchData(Search)), JsonRequestBehavior.AllowGet));
        }
Example #3
0
        public ActionResult SearchHotel(FormCollection collection)
        {
            HotelSearchDto searchCriteria = new HotelSearchDto();

            searchCriteria.Address    = collection["add"];
            searchCriteria.Latitude   = double.Parse(collection["lat"]);
            searchCriteria.Longitude  = double.Parse(collection["lan"]);
            searchCriteria.StartDate  = collection["checkIn"];
            searchCriteria.EndDate    = collection["checkOut"];
            searchCriteria.TotalGuest = collection["ddlTotalGuest"];
            searchCriteria.TotalRoom  = collection["ddlNoOfRooms"];
            searchCriteria.Provider   = collection["ddlProvider"];
            //Check in cache
            var key    = searchCriteria.Latitude.ToString() + searchCriteria.Longitude.ToString() + searchCriteria.StartDate.ToString() + searchCriteria.EndDate.ToString();
            var result = GetFromCache(key);

            if (result == null)
            {
                SearchHotel mgr = new SearchHotel();
                result = mgr.Search(searchCriteria);
                AddToCache(result, key);
            }
            ViewBag.StartDate       = searchCriteria.StartDate;
            ViewBag.EndDate         = searchCriteria.EndDate;
            ViewBag.TotalTravellers = searchCriteria.TotalGuest;
            ViewBag.Lat             = searchCriteria.Latitude;
            ViewBag.Lan             = searchCriteria.Longitude;
            return(View("SearchHotel", result));
        }
Example #4
0
        public void GetSearchResult()
        {
            HBSearchData searchInputData = PreparesSearchObj();
            var          SMRresult       = SearchHotel.SearchHotels(searchInputData, searchData.sID).Result;

            MapSearchResult(SMRresult);
        }
Example #5
0
        public ActionResult Search(SearchHotel data)
        {
            string person = data.Person.Split(' ')[0];
            string room   = data.Person.Split(' ')[2];

            data.Person        = person;
            data.Room          = room;
            ViewBag.SearchData = data;
            return(View("Listing", data));
        }
Example #6
0
        static void Main(string[] args)
        {
            var b = new SearchHotel();

            b.AddHotel(new Hotel {
                HotelId = 100011, HotelName = "Swiming Hotel Bangkok", Room = new List <Room> {
                    new Room {
                        Adult = 2, Child = 1, RoomName = "Single delux", TotalPrice = 10
                    },
                    new Room {
                        Adult = 2, Child = 1, RoomName = "Single delux", TotalPrice = 20
                    },
                }
            });
            b.AddHotel(new Hotel {
                HotelId = 100011, HotelName = "SaomHotel Sukumvit", Room = new List <Room> {
                    new Room {
                        Adult = 2, Child = 1, RoomName = "Deble delux", TotalPrice = 30
                    },
                    new Room {
                        Adult = 2, Child = 1, RoomName = "Triple delux", TotalPrice = 40
                    },
                }
            });
            b.AddHotel(new Hotel {
                HotelId = 100011, HotelName = "Ramsawintanee Bangkok", Room = new List <Room> {
                    new Room {
                        Adult = 2, Child = 1, RoomName = "Suit delux", TotalPrice = 50
                    },
                    new Room {
                        Adult = 2, Child = 1, RoomName = "Quest delux", TotalPrice = 60
                    },
                }
            });

            Console.WriteLine("Hotel count : {0}", b.CountHotel);
            Console.WriteLine("Total Price : {0}", b.GetTotalRoomPrice());


            IProductRepository inRepository = b;
            var hotel = inRepository.SearchHotelById(100011);

            if (hotel != null)
            {
                Console.WriteLine("[+]{0} {1} RoomCount : {2}", hotel.HotelId, hotel.HotelName, hotel.Room.Count);
                foreach (var r in hotel.Room)
                {
                    Console.WriteLine(" {0} Price : {1} ", r.RoomName, r.TotalPrice);
                }
            }

            Console.ReadLine();
        }
        private void ABMHotel_Click(object sender, EventArgs e)
        {
            using (SearchHotel formularioABMHotel = new SearchHotel(this.getSesion()))
            {
                var resultFormABMHotel = formularioABMHotel.ShowDialog();

                if (resultFormABMHotel == DialogResult.OK)
                {
                    //Hago algo con el return value
                }
            }
        }
Example #8
0
        public void GetSearchResult()
        {
            try
            {
                HBSearchData searchInputData = PreparesSearchObj();
                searchOutputs = SearchHotel.SearchHotels(searchInputData, searchData.sID).Result;
            }
            catch (Exception ex)
            {
                LoggingHelper.WriteToFile("HBLogs/SearchController/Errors/", "HBIntegrationManagement" + "INControoler" + searchData.sID, ex.InnerException?.Message, ex.Message + ex.StackTrace);

                throw ex;
            }
        }
Example #9
0
        public List <SearchHotel> GetDetails(SearchHotel hotel)
        {
            var checkin  = Convert.ToDateTime(hotel.checkinDate);
            var checkout = Convert.ToDateTime(hotel.checkoutDate);
            List <SearchHotel> roomDetails = new List <SearchHotel>();

            DateTime today      = DateTime.Now;
            DateTime maxDays    = today.AddDays(14);
            DateTime maxCheckIn = today.AddDays(90);

            if (checkin >= today && (checkout > today && checkout < maxDays) && (checkin < maxCheckIn))
            {
                roomDetails = GetRoomDetails(hotel);
            }
            return(roomDetails);
        }
Example #10
0
        public List <SearchHotel> GetRoomDetails(SearchHotel hotel)
        {
            var filterBookedHotels = (from HD in db.hotelDetails
                                      join HCM in db.hotelCityMapping on HD.hotelId equals HCM.hotelId
                                      join CD in db.cityDetails on HCM.cityId equals CD.cityId
                                      join RD in db.roomDetails on HD.hotelId equals RD.hotelId
                                      join RBD in db.roomBookingDetails on RD.Room_Id equals RBD.roomId
                                      join B in db.booking on RBD.Booking_Id equals B.bookingId
                                      where CD.City_Name == hotel.cityName &&
                                      RD.Room_Type == hotel.roomType &&
                                      ((B.CheckIn_Date > checkin && B.CheckIn_Date > checkout) || (B.Checkout_Date < checkin && B.Checkout_Date < checkout))
                                      select new
            {
                hotelName = HD.Hot_Name,
                hotelAdd = HD.Hot_Add,
                cityName = CD.City_Name,
                roomType = RD.Room_Type,
                roomId = RD.Room_Id
            })
                                     .ToList();
            var allHotels = (from HD in db.hotelDetails
                             join HCM in db.hotelCityMapping on HD.hotelId equals HCM.hotelId
                             join CD in db.cityDetails on HCM.cityId equals CD.cityId
                             join RD in db.roomDetails on HD.hotelId equals RD.hotelId
                             join RBD in db.roomBookingDetails on 1 equals 1
                             join B in db.booking on 1 equals 1
                             where RD.roomId != RBD.roomId &&
                             RBD.bookingId != B.bookingId &&
                             CD.cityName == hotel.cityName &&
                             RD.roomType == hotel.roomType
                             select new
            {
                hotelName = HD.Hot_Name,
                hotelAdd = HD.Hot_Add,
                cityName = CD.City_Name,
                roomType = RD.Room_Type,
                roomId = RD.Room_Id
            }).Distinct().ToList();

            var allAvailableBookedHotels = (from HD in db.hotelDetails
                                            join HCM in db.hotelCityMapping on HD.hotelId equals HCM.hotelId
                                            join CD in db.cityDetails on HCM.cityId equals CD.cityId
                                            join RD in db.roomDetails on HD.hotelId equals RD.hotelId
                                            join RBD in db.roomBookingDetails on RD.Room_Id equals RBD.roomId
                                            join B in db.booking on RBD.Booking_Id equals B.bookingId
                                            where CD.cityName == hotel.cityName &&
                                            RD.roomType == hotel.roomType
                                            select new
            {
                hotelName = HD.Hot_Name,
                hotelAdd = HD.Hot_Add,
                cityName = CD.City_Name,
                roomType = RD.Room_Type,
                roomId = RD.Room_Id
            }).Distinct().ToList();

            allHotels.RemoveAll(x => allAvailableBookedHotels.Any(y => y.roomId == x.roomId));
            var result = allHotels.Concat(filterBookedHotels).ToList <SearchHotel>();

            return(result);
        }
Example #11
0
 public IHttpActionResult SearchHotels(SearchHotel hotel)
 {
     return(Ok(hotelObj.GetDetails(hotel)));
 }