/*
         * Loads the booking matching given booking number into the system
         * (from persisted data).
         * Returns true if the booking was found & loaded successfully,
         * otherwise false.
         */
        public bool RestoreBooking(int bookingNb)
        {
            bool wasRestored = true;
            List <Dictionary <String, String> > bookingData;

            if (!dpFacade.Read(bookingNb, out bookingData))
            {
                wasRestored = false;
            }
            else
            {
                CurrentBook = bFact.Restore(bookingData);
                CurrentCust = CurrentBook.GetCustomer();
            }
            return(wasRestored);
        }
        // METHODS:

        /*
         * Constructor.
         */
        public ModelFacade()

        {
            bFact    = BookingFactory.Instance;
            pFact    = PersonFactory.Instance;
            dpFacade = new DataPersistenceFacade();

            Dictionary <String, String> sysData;

            if (dpFacade.ReadSystemState(out sysData))
            {
                bFact.Restore(sysData);
                pFact.Restore(sysData);
            }
        }