private static void Run() { bool isBookingSuccess = false; try { // Set dummy data string name = "Jason Kim"; string passport = "ABCD1234"; DateTime? fromDate = new DateTime(2018, 1, 1, 0, 0, 0); DateTime? toDate = new DateTime(2018, 1, 10, 0, 0, 0); PreferredFloor preferredFloor = PreferredFloor.First; // Start integrated(Facade) system for booking var booker = new Booker(); isBookingSuccess = booker.BookPackageProduct(name, passport, fromDate, toDate, preferredFloor); } catch (Exception ex) { Console.WriteLine(ex.Message); } string resultMessage = isBookingSuccess ? "Booking has beed succeeded." : "Booking has been failed."; Console.WriteLine(resultMessage); }
public bool BookBus(string name, PreferredFloor preferredFloor) { bool result = false; try { if (string.IsNullOrEmpty(name)) { throw new ArgumentNullException(); } // Do something for booking result = true; // Success case } catch (Exception ex) { // Logging throw; } return(result); }
public bool BookPackageProduct(string name, string passport, DateTime?fromDate, DateTime?toDate, PreferredFloor preferredFloor) { bool result = false; try { bool isAirlineBookingSuccess = _airlineSystem.Value.BookFlight(name, passport); bool isBusBookingSuccess = _busSystem.Value.BookBus(name, preferredFloor); bool isHotelBookingSuccess = _hotelSystem.Value.BookHotel(name, fromDate, toDate); if (isAirlineBookingSuccess && isBusBookingSuccess && isHotelBookingSuccess) { result = true; } } catch (Exception ex) { // Logging throw; } return(result); }