//Asks user for entry public static void ChooseOption() { Console.WriteLine("Enter 1 : Add Hotel\nEnter 2 : Show Cheapest Hotels\nEnter 3 : Book Best Hotel\nEnter 4 : Book Highest Rating Hotel\nEnter 5 : Exit"); Console.Write("Your Entry : "); int enteredKey = default(int); try { try { enteredKey = Convert.ToInt32(Console.ReadLine()); } catch { ColouredPrint.PrintInMagenta("Wrong key entered\nTry Again"); ChooseOption(); } switch (enteredKey) { case 1: CallingMethodsClass.CallAddHotel(); ChooseOption(); break; case 2: CallingMethodsClass.GetCheapestHotels(); ChooseOption(); break; case 3: CallingMethodsClass.GetBestHotel(); ChooseOption(); break; case 4: CallingMethodsClass.GetHighestRatedHotel(); ChooseOption(); break; case 5: break; default: ColouredPrint.PrintInMagenta("Wrong key entered\nTry Again"); ChooseOption(); break; } } //Catches exception if hotelName is Invalid catch (HotelReservationException e) { ColouredPrint.PrintInMagenta($"{e.Message}\nTry Again"); ChooseOption(); } }
//private method to ask detail about customer type to user private static CustomerType AskCustomerType() { label7: CustomerType custType; Console.WriteLine("Enter REGULAR for Regular Customer\nEnter REWARD for Reward Customer"); Console.Write("Your Entry : "); int custTypeValidity = ValidateCustType(Console.ReadLine()); if (custTypeValidity == 0) { custType = CustomerType.REGULAR_CUST; } else if (custTypeValidity == 1) { custType = CustomerType.REWARD_CUST; } else { ColouredPrint.PrintInMagenta("Entered Customer type is INVALID\nTry Again"); goto label7; } return(custType); }
//private method or calling AddHotel Method private static void CallAddHotel() { Console.Write("Enter the Hotel Name : "); string hotelName = Console.ReadLine(); label2: Console.Write("Enter the Hotel Rating : "); int hotelRating; try { hotelRating = Convert.ToInt32(Console.ReadLine()); } catch { ColouredPrint.PrintInMagenta("Wrong value"); goto label2; } label3: Console.Write("Enter the Weekday Rate For Regular Customer : "); int weekdayRateForRegularCust; int weekendRateForRegularCust; int weekdayRateForRewardCust; int weekendRateForRewardCust; try { weekdayRateForRegularCust = Convert.ToInt32(Console.ReadLine()); } catch { ColouredPrint.PrintInMagenta("Wrong value"); goto label3; } label4: Console.Write("Enter the Weekend Rate For Regular Customer : "); try { weekendRateForRegularCust = Convert.ToInt32(Console.ReadLine()); } catch { ColouredPrint.PrintInMagenta("Wrong value"); goto label4; } label5: Console.Write("Enter the Weekday Rate For Reward Customer : "); try { weekdayRateForRewardCust = Convert.ToInt32(Console.ReadLine()); } catch { ColouredPrint.PrintInMagenta("Wrong value"); goto label5; } label6: Console.Write("Enter the Weekend Rate For Reward Customer : "); try { weekendRateForRewardCust = Convert.ToInt32(Console.ReadLine()); } catch { ColouredPrint.PrintInMagenta("Wrong value"); goto label6; } HotelDetails hotelDetailsObj = new HotelDetails(); hotelDetailsObj.AddHotel(hotelName, hotelRating, weekdayRateForRegularCust, weekendRateForRegularCust, weekdayRateForRewardCust, weekendRateForRewardCust); }