Ejemplo n.º 1
0
        public void findCheapestBestHotel(DateTime firstDate, DateTime lastDate, customerType type)
        {
            total_Days  = Convert.ToInt32(lastDate.Subtract(firstDate).TotalDays) + 1;
            WeekendDays = total_WeekendDays(firstDate, lastDate);
            WeekDays    = total_Days - WeekendDays;



            HotelDetail cheapestBestHotel = new HotelDetail();
            int         cheapestRate      = 0;


            List <HotelDetail> hotel_list = CustomerBased_hotelList[type];

            hotel_list.Sort((x, y) => ((getTotalRate(x)).CompareTo(getTotalRate(y))));
            cheapestRate = getTotalRate(hotel_list.First());


            cheapestBestRatedHotelsList = hotel_list.FindAll(x => getTotalRate(x).Equals(cheapestRate));


            cheapestBestRatedHotelsList.Sort((x, y) => (y.Rating).CompareTo(x.Rating));

            Console.WriteLine("Cheapest Rated Hotels are as follows: ");
            int bestCheapestRating = cheapestBestRatedHotelsList.First().Rating;

            foreach (var hotel in cheapestBestRatedHotelsList.FindAll(x => x.Rating.Equals(bestCheapestRating)))
            {
                Console.WriteLine(hotel.Name + " Rating is :" + hotel.Rating + " Total Cost :" + " " + getTotalRate(hotel));
            }
            Console.WriteLine("\n ");
        }
Ejemplo n.º 2
0
 public int getTotalRate(HotelDetail hotel)
 {
     if (hotel != null)
     {
         return((hotel.WeekdayRate * WeekDays) + (hotel.WeekendRate * WeekendDays));
     }
     else
     {
         return(-1);
     }
 }