示例#1
0
        // retreives car hire information that for a booking
        public static CarHireItem GetCarHireDetails(int bookingRef)
        {
            CarHireItem carHireItem = null;

            try
            {
                using (SqlConnection con = Connect())
                {
                    con.Open();
                    string sql = String.Format("SELECT * FROM Car_Hire WHERE   Booking_Ref = {0};",
                                               bookingRef);
                    SqlCommand    com = new SqlCommand(sql, con);
                    SqlDataReader sdr = com.ExecuteReader();
                    while (sdr.Read())
                    {
                        {
                            carHireItem           = new CarHireItem();
                            carHireItem.Driver    = sdr.GetString(0);
                            carHireItem.HireStart = sdr.GetDateTime(2);
                            carHireItem.HireEnd   = sdr.GetDateTime(3);
                        }
                    }
                    return(carHireItem);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(carHireItem);
            }
        }
示例#2
0
        // retreives all information for a booking and reconstructs it into an object
        public static AbstractBooking RetreiveBooking(int bookingId)
        {
            Client                  customer       = null;
            List <Person>           guestList      = new List <Person>();
            int                     customerRef    = DatabaseCalls.GetCustIdForBooking(bookingId);
            CustomerItem            customerItem   = DatabaseCalls.GetCustomersDetails(customerRef).ElementAt(0);
            BusinessFacadeSingleton businessFacade = BusinessFacadeSingleton.Instance();

            customer = businessFacade.CreateClient(customerItem.Id, customerItem.Name, customerItem.Address);

            foreach (var guestItem in DatabaseCalls.GetGuestsDetails(0, bookingId))
            {
                GuestDecorator guest = businessFacade.CreateGuest(guestItem.Name, guestItem.PassportNumber, guestItem.Age);
                if (DatabaseCalls.IsCustomer(guest.Name))
                {
                    guest.SetComponent(customer);
                }
                guestList.Add(guest);
            }
            BookingItem bookingItem = DatabaseCalls.GetBookingDetails(bookingId);
            CarHireItem carHireItem = DatabaseCalls.GetCarHireDetails(bookingId);
            bool        carHire     = false;
            string      driver      = "";
            DateTime    hireStart   = DateTime.Today;
            DateTime    hireEnd     = DateTime.Today;

            if (carHireItem != null)
            {
                carHire   = true;
                driver    = carHireItem.Driver;
                hireStart = carHireItem.HireStart;
                hireEnd   = carHireItem.HireEnd;
            }
            var booking = businessFacade.CreateBooking(bookingId, bookingItem.Arrival, bookingItem.Departure, customer, guestList,
                                                       bookingItem.ChaletId, bookingItem.EveningMeal, bookingItem.Breakfast, carHire, hireStart,
                                                       hireEnd, driver);

            return(booking);
        }