static void MakeBookingFlow() { BookingServiceProvider bookingService = new BookingServiceProvider(loggedInUser); OfferServiceProvider offerService = new OfferServiceProvider(loggedInUser); List <Offer> availableOffers = offerService.ViewAllOffersOtherThanUser(); if (availableOffers.ToArray().Length != 0) { foreach (var offer in availableOffers) { AttributeDisplayHelper.DisplayAttributes <Offer>(offer); } Console.WriteLine("Enter offer ID"); string OfferID = Console.ReadLine(); try { bookingService.MakeBooking(OfferID); } catch (Exception e) { Console.WriteLine(e.Message); } } else { Console.WriteLine("No offers made by any user"); } }
static void ViewOffersFlow() { OfferServiceProvider offerService = new OfferServiceProvider(loggedInUser); List <Offer> OffersToDisplay = offerService.ViewOffers(); foreach (Offer display in OffersToDisplay) { AttributeDisplayHelper.DisplayAttributes <Offer>(display); } }
static void CreateOfferFlow() { OfferServiceProvider offerService = new OfferServiceProvider(loggedInUser); BookingServiceProvider bookingService = new BookingServiceProvider(loggedInUser); if (bookingService.IsBookingPending(loggedInUser)) { Console.WriteLine("Please clear pending booking"); ConfirmBookingFlow(); } else { Console.WriteLine("Determine a cost per km"); int costPerKm = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Decide a starting point for the ride"); string startPoint = Console.ReadLine(); Console.WriteLine("Decide upto 3 via points (Seperate the points with a space)"); string viaPoints = Console.ReadLine(); if (viaPoints.Split(' ').Length > 3) { CreateOfferFlow(); } Console.WriteLine("Decide an ending point"); string EndPoint = Console.ReadLine(); Console.WriteLine("Enter max number of people"); int maxPeople = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Enter the car you are using"); string carModel = Console.ReadLine(); offerService.CreateOffer(startPoint, viaPoints, EndPoint, costPerKm, maxPeople, carModel); } }