public void MyOptions() { Helper.Print("My Options:"); Helper.Print("\t1)Profile\n\t2)Offer a Ride\n\t3)Book a Ride\n\t4)Bookings Approval\n\t5)Check status of recent booking\n\t6)Past Offers\n\t7)Past Bookings\n\t8)Logout"); int Option = Convert.ToInt16(Console.ReadLine()); if (Option >= 1 && Option <= 8) { switch (Option) { case 1: UserService.DisplayProfileDetails(SelectedUser); MyOptions(); break; case 2: Helper.Print("\nPlease enter the Details of your Car"); Helper.Print("\nEnter car Name:"); string name = Console.ReadLine(); Helper.Print("\nSelect your car type:"); int index = 0; foreach (string str in Enum.GetNames(typeof(CarTypes))) { Helper.Print($"{++index}) { str}"); } int selectedType = Convert.ToInt16(Console.ReadLine()); CarTypes type = (CarTypes)selectedType; Helper.Print("\nEnter seat Capacity:"); int seatCapacity = Convert.ToInt16(Console.ReadLine()); BookingService.CarDetails(name, type, seatCapacity); Helper.Print("\nEnter Ride fair(per Km):"); decimal rideFairPerKm = Convert.ToDecimal(Console.ReadLine()); Helper.Print("Please enter the number of checkpoints"); int checkPoints = Convert.ToInt16(Console.ReadLine()); Helper.Print("\nPlease enter your start point, Checkpoints,Destination and their respective distances(in Kms) to next area"); BookingService.CreateRideOffer(rideFairPerKm, checkPoints, SelectedUser); Helper.Print("\n\tYour Ride offer has been registered"); Helper.Print("\n\tcurrently no one has booked your Ride\n\tWe will notify you once booking has been done"); Helper.Print("\tRedirecting to Main page\n"); MyOptions(); break; case 3: Helper.Print("\nEnter Pickup Point:"); string pickPoint = Console.ReadLine(); Helper.Print("\nEnter Drop Point:"); string dropPoint = Console.ReadLine(); Helper.Print("\nEnter number of seats to book:"); int seats = Convert.ToInt16(Console.ReadLine()); BookingService.Book(pickPoint, dropPoint, seats, SelectedUser, out SelectedBooking); bool available = BookingService.SearchAvailableRides(pickPoint, dropPoint, seats, SelectedUser, SelectedBooking); if (available) { DisplayAvailableRides(); Helper.Print("\n\tSelect a option to book ride"); int rideOption = Convert.ToInt16(Console.ReadLine()); SelectedRide = BookingService.ReturnSelectedRideObject(rideOption); DisplayConfirmationDetails(); BookingService.SaveBooking(SelectedRide, SelectedBooking, SelectedUser); MyOptions(); } else { Helper.Print("\n\tCurrently there are no ride offers available"); Helper.Print("\n\tplease check-in After sometime"); MyOptions(); } break; case 4: if (SelectedUser.LastRideOffered == null) { Helper.Print("No ride offered previously"); } else { if (SelectedUser.LastRideOffered.Bookings.Count == 0) { Helper.Print($"No one has booked your offer yet"); } else { Helper.Print("Showing the bookings of ride offered"); int bookingIndex = 0; foreach (Booking rideBooking in SelectedUser.LastRideOffered.Bookings) { if (rideBooking.Status != BookingStatus.Rejected) { Helper.Print($" {++bookingIndex} )\n\t Name : {rideBooking.BookingUser.Name}"); Helper.Print($"\t Mobile : {rideBooking.BookingUser.Mobileno}"); Helper.Print($"\t Pickup Point : {rideBooking.StartPoint}"); Helper.Print($"\t Drop Point : {rideBooking.Destination}"); Helper.Print($"\t Ride Fair : {rideBooking.RideFair}"); Helper.Print("----------------------------------------------------------"); } } Helper.Print("Select the booking you want to approve or reject"); int bookingOption = Convert.ToInt16(Console.ReadLine()); Helper.Print("Do you want to approve or reject the booking:\n\t1)Approve\n\t2)Reject"); BookingStatus setStatus = (BookingStatus)Convert.ToInt16(Console.ReadLine()); Booking selectedBooking = BookingService.ReturnSelectedBooking(bookingOption, SelectedUser); BookingService.SetStatusOfBooking(selectedBooking, setStatus, SelectedUser); } } MyOptions(); break; case 5: if (SelectedUser.LastBooking == null) { Helper.Print("No pending bookings available"); } else { Helper.Print($"Booked ride was {SelectedUser.LastBooking.Status}"); } MyOptions(); break; case 6: DisplayPastOffers(SelectedUser); MyOptions(); break; case 7: DisplayPastBookings(SelectedUser); MyOptions(); break; case 8: Helper.Print("\t***YOU HAVE BEEN LOGOUT***"); break; } } else { Helper.Print($"Please enter a valid input"); MyOptions(); } }