Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to Hotel Reservation Syatem!!");

            //Adding Hotels to the list
            HotelOperations hotelOperations = new HotelOperations(CustomerType.REGULAR);

            hotelOperations.AddHotel(new Hotel("Lakewood", 110, 90, 80, 80, 3));
            hotelOperations.AddHotel(new Hotel("Bridgewood", 150, 50, 110, 150, 4));
            hotelOperations.AddHotel(new Hotel("Ridgewood", 220, 150, 100, 40, 5));

            Console.WriteLine("------Names of Hotels added------");

            HotelOperations.UserInput(hotelOperations);
        }
        /// <summary>
        /// Users the input.
        /// </summary>
        /// <param name="hotelOperations">The hotel operations.</param>
        public static void UserInput(HotelOperations hotelOperations)
        {
            try
            {
                bool flag = true;

                Console.WriteLine("Enter customer type :1.REGULAR  2.REWARD");
                Console.WriteLine("...................................");

                int customerChoice = Convert.ToInt32(Console.ReadLine());

                if (customerChoice == 1)
                {
                    hotelOperations.ctype = CustomerType.REGULAR;
                }
                else if (customerChoice == 2)
                {
                    hotelOperations.ctype = CustomerType.REWARD;
                }
                else
                {
                    throw new HotelReservationExceptions(HotelReservationExceptions.ExceptionType.INVALID_CUSTOMER_TYPE, "Invalid Customer Type");
                }
                Console.WriteLine("Enter dates in dd-mm-yyyy format");
                string[] dates = Console.ReadLine().Split(" ");

                Console.WriteLine("Choose One:\n 1.Find cheapest hotel\t 2. Find cheapest and best rated hotel \t 3.Best rated hotel");
                while (flag)
                {
                    int choice = Convert.ToInt32(Console.ReadLine());
                    switch (choice)
                    {
                    case 1:
                        flag = false;
                        Hotel[] cheapestHotels = hotelOperations.FindCheapestHotel(dates).ToArray();
                        Console.WriteLine("Cheapest Hotel :");
                        hotelOperations.DisplayHotels(cheapestHotels);
                        break;

                    case 2:
                        flag = false;
                        Hotel[] cheapestBestRatedHotels = hotelOperations.FindCheapestBestRatedHotel(dates).ToArray();
                        Console.WriteLine("Cheapest And Best Rated Hotel :");
                        hotelOperations.DisplayHotels(cheapestBestRatedHotels);
                        break;

                    case 3:
                        flag = false;
                        Hotel[] bestRatedHotel = hotelOperations.FindBestRatedHotel(dates).ToArray();
                        Console.WriteLine("Best rated hotel is: ");
                        hotelOperations.DisplayHotels(bestRatedHotel);
                        break;

                    default:
                        flag = true;
                        Console.WriteLine("Enter Valid Choice.");
                        break;
                    }
                }
            }
            catch (HotelReservationExceptions e)
            {
                Console.WriteLine(e.Message);
            }
        }