コード例 #1
0
        public void ParkWideReservation(Park selectedPark)
        {
            //TODO make it promt user for new dates when no sites are available within dates specified
            System.Console.WriteLine("What is the arrival date? yyyy/mm/dd");
            DateTime desiredArrival = DateTime.Parse(Console.ReadLine());

            System.Console.WriteLine("What is the departure date? yyyy/mm/dd");
            DateTime desiredDeparture = DateTime.Parse(Console.ReadLine());

            System.Console.WriteLine();
            System.Console.WriteLine();
            int          duration = (int)(desiredDeparture.Subtract(desiredArrival).TotalDays) + 1;
            IList <Site> sites    = siteDAO.ListAvailableSitesInPark(selectedPark, desiredArrival, desiredDeparture);

            printSiteListHeadingParkWide();

            foreach (var site in sites)
            {
                printSiteListingParkWide(site, duration);
            }
            System.Console.Write("Which site should be reserved (enter 0 to cancel)? ");
            int selectedSiteNum = int.Parse(Console.ReadLine());
            int selectedSiteId  = 0;

            foreach (Site site in sites)
            {
                if (site.SiteNumber == selectedSiteNum)
                {
                    selectedSiteId = site.SiteId;
                }
            }
            if (selectedSiteId == 0)
            {
                Console.Clear();
                return;
            }

            System.Console.Write("What name should the reservation be made under? ");
            string reservationName = Console.ReadLine();

            int conformationNumber = reservationDAO.MakeReservation(selectedSiteId, reservationName, desiredArrival, desiredDeparture);

            System.Console.WriteLine($"The reservation has been made and the conformation id is {conformationNumber}");
            Console.ReadLine();
        }