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()); }
public JsonResult GetSearchData(SearchHotel Search) { HotelInformation Hinfo = new HotelInformation(); Common objCommon = new Common(); return(Json(objCommon.DatasetToJson(Hinfo.GetSearchData(Search)), JsonRequestBehavior.AllowGet)); }
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)); }
public void GetSearchResult() { HBSearchData searchInputData = PreparesSearchObj(); var SMRresult = SearchHotel.SearchHotels(searchInputData, searchData.sID).Result; MapSearchResult(SMRresult); }
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)); }
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 } } }
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; } }
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); }
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); }
public IHttpActionResult SearchHotels(SearchHotel hotel) { return(Ok(hotelObj.GetDetails(hotel))); }