Beispiel #1
0
        public void GuestCountTest()
        {
            //arrange
            List <Person> guests = new List <Person>();
            Person        person = new Person();

            person.Name = "John";
            GuestDecorator guest = new GuestDecorator("ABC123456", 21);

            guest.SetComponent(person);
            guests.Add(guest);
            Client         client = new Client(1, "Marry", "Edinburgh");
            GuestDecorator guest2 = new GuestDecorator("XYZ987456", 25);

            guest.SetComponent(client);
            guests.Add(guest2);
            int     expectedCount = 2;
            Booking booking       = new Booking(1, DateTime.Today, DateTime.Today.Add(TimeSpan.FromDays(6)),
                                                client, guests, 2);
            BreakfastDecorator breakfastDecorator = new BreakfastDecorator();

            breakfastDecorator.SetComponent(booking);

            // act
            int actualCount = breakfastDecorator.GuestCount();

            //assert
            Assert.AreEqual(expectedCount, actualCount, 0, "GuestCount not working properly");
        }
Beispiel #2
0
        public void CalculateCost1()
        {
            //arrange
            List <Person> guests = new List <Person>();
            Person        person = new Person();

            person.Name = "John";
            GuestDecorator guest = new GuestDecorator("ABC123456", 21);

            guest.SetComponent(person);
            guests.Add(guest);
            Client         client = new Client(1, "Marry", "Edinburgh");
            GuestDecorator guest2 = new GuestDecorator("XYZ987456", 25);

            guest.SetComponent(client);
            guests.Add(guest2);
            double  expectedAmount = 360;
            Booking booking        = new Booking(1, DateTime.Today, DateTime.Today.Add(TimeSpan.FromDays(6)),
                                                 client, guests, 2);


            //act
            double actualAmount = booking.CalculateCost();

            //assert
            Assert.AreEqual(expectedAmount, actualAmount, 0, "CalculateCost method not working properly");
        }
Beispiel #3
0
        public void TotalPriceTest3()
        {
            //arrange
            List <Person>  guests = new List <Person>();
            Client         client = new Client(1, "Marry", "Edinburgh");
            GuestDecorator guest  = new GuestDecorator("XYZ987456", 25);

            guest.SetComponent(client);
            guests.Add(guest);
            double  expectedAmount = 580;
            Booking booking        = new Booking(1, DateTime.Today, DateTime.Today.Add(TimeSpan.FromDays(4)),
                                                 client, guests, 2);
            EveningMealDecorator eveningMeal = new EveningMealDecorator();

            eveningMeal.SetComponent(booking);
            CarHireDecorator carHireDecorator = new CarHireDecorator();

            carHireDecorator.StartDate = DateTime.Today;
            carHireDecorator.EndDate   = DateTime.Today.Add(TimeSpan.FromDays(4));
            carHireDecorator.SetComponent(eveningMeal);


            // act
            double actualAmount = carHireDecorator.TotalPriece();

            //assert
            Assert.AreEqual(expectedAmount, actualAmount, 0, "TotalPrice method working properly");
        }
Beispiel #4
0
        public void TotalPriceTest2()
        {
            //arrange
            List <Person> guests = new List <Person>();
            Person        person = new Person();

            person.Name = "John";
            GuestDecorator guest1 = new GuestDecorator("ABC123456", 21);

            guest1.SetComponent(person);
            guests.Add(guest1);
            Client         client = new Client(1, "Marry", "Edinburgh");
            GuestDecorator guest  = new GuestDecorator("XYZ987456", 25);

            guest.SetComponent(client);
            guests.Add(guest);
            double  expectedAmount = 390;
            Booking booking        = new Booking(1, DateTime.Today, DateTime.Today.Add(TimeSpan.FromDays(3)),
                                                 client, guests, 2);
            EveningMealDecorator eveningMeal = new EveningMealDecorator();

            eveningMeal.SetComponent(booking);


            // act
            double actualAmount = eveningMeal.TotalPriece();

            //assert
            Assert.AreEqual(expectedAmount, actualAmount, 0, "TotalPrice method working properly");
        }
Beispiel #5
0
        string oldPassportNo; // used when updating guest's passport number
        public CustomerDetails()
        {
            InitializeComponent();
            // below code retreives customer's details from database and displays it in the window
            List <Person> clientList = DataLayerFacade.GetCustomer(CustomerL.customerNumber);

            this.Topmost = true;
            Client client = (Client)clientList.ElementAt(0);

            textBoxName.Text         = client.Name;
            textBoxAddress.Text      = client.Address;
            textBoxPassNo.MaxLength  = 10;
            textBoxAddress.MaxLength = 150;
            textBoxName.MaxLength    = 50;
            lblCustNumb.Content      = client.CustomerNumber;
            List <Person> guestDecorator = DataLayerFacade.GetGuestDecorator(CustomerL.customerNumber, 0);

            if (guestDecorator.Count == 0)
            {
                textBoxPassNo.Visibility = Visibility.Hidden;
                textBoxAge.Visibility    = Visibility.Hidden;
                lblPassNo.Visibility     = Visibility.Hidden;
                lblAge.Visibility        = Visibility.Hidden;
            }
            else
            {
                // if the customer is also a guest, the guest's details are also displayed
                GuestDecorator guest = (GuestDecorator)guestDecorator.ElementAt(0);
                guest.SetComponent(client);
                textBoxPassNo.Text = guest.PassportNumber;
                oldPassportNo      = guest.PassportNumber;
                textBoxAge.Text    = guest.Age.ToString();
            }
        }
Beispiel #6
0
        // if a customer is also a guest it retreives a customer object wrapped in a guest decorator
        public static List <Person> GetGuestDecorator(int customerNmber, int bookingRef)
        {
            List <Person>    guestList     = new List <Person>();
            List <GuestItem> guestItemList = DatabaseCalls.GetGuestsDetails(customerNmber, bookingRef);

            if (guestItemList.Count == 0)
            {
                return(guestList);
            }
            foreach (var item in guestItemList)
            {
                Person person = new Person {
                    Name = item.Name
                };
                GuestDecorator guest = new GuestDecorator(item.PassportNumber, item.Age);
                guest.SetComponent(person);
                guestList.Add(guest);
            }
            return(guestList);
        }
Beispiel #7
0
        public void TotalPriceTest1()
        {
            //arrange
            List <Person> guests = new List <Person>();

            Client         client = new Client(1, "Marry", "Edinburgh");
            GuestDecorator guest  = new GuestDecorator("XYZ987456", 25);

            guest.SetComponent(client);
            guests.Add(guest);
            double  expectedAmount = 595;
            Booking booking        = new Booking(1, DateTime.Today, DateTime.Today.Add(TimeSpan.FromDays(7)),
                                                 client, guests, 2);


            // act
            double actualAmount = booking.TotalPriece();

            //assert
            Assert.AreEqual(expectedAmount, actualAmount, 0, "TotalPrice method working properly");
        }
Beispiel #8
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);
        }
Beispiel #9
0
        public void NightCountTest()
        {
            //arrange
            List <Person> guests = new List <Person>();

            Client         client = new Client(1, "Marry", "Edinburgh");
            GuestDecorator guest  = new GuestDecorator("XYZ987456", 25);

            guest.SetComponent(client);
            guests.Add(guest);
            int     expectedCount = 6;
            Booking booking       = new Booking(1, DateTime.Today, DateTime.Today.Add(TimeSpan.FromDays(6)),
                                                client, guests, 2);
            EveningMealDecorator eveningMeal = new EveningMealDecorator();

            eveningMeal.SetComponent(booking);

            //act
            int actualCount = eveningMeal.NightCount();

            //assert
            Assert.AreEqual(expectedCount, actualCount, 0, "NightCount method not working properly");
        }