public void DisplayAvailableSites(Campground campground, string startDate, string endDate)
        {
            Console.Clear();

            ParkSqlDAL  availableSiteDal = new ParkSqlDAL(_dbConnectionString);
            List <Site> availableSites   = availableSiteDal.AvailableSitesToReserve(campground.CampgroundId, startDate, endDate);


            Console.WriteLine(" Available Sites for " + campground.CampgroundName);
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine(" {0,0} {1,15} {2,15} {3,15} {4,15}", "Site #", "Max Occupancy", "Accessibility", "Max RV Length", "Utilities");
            Console.WriteLine();

            bool exit = false;

            if (availableSites.Count > 0)
            {
                DisplaySiteInfoHeader(availableSites);
            }

            int selection;

            Console.Write(" Select a Site... ");
            string command = Console.ReadLine();

            Console.WriteLine();
            Console.Write(" Enter a reservation name... ");
            string reservationName = Console.ReadLine();

            while (!exit)
            {
                if (availableSites.Count == 0)
                {
                    Console.WriteLine();
                    Console.Write(" There are no sites available for " + campground.CampgroundName + ".");
                    Console.Write(" Press any key to exit the application. ");
                    exit = true;
                }
                else if (int.TryParse(command, out selection))
                {
                    Console.WriteLine();
                    if (selection > 0 && selection <= availableSites.Count)
                    {
                        int siteID = availableSites[selection - 1].SiteId;

                        availableSiteDal.AddReservation(siteID, startDate, endDate, reservationName);
                    }

                    exit = true;
                }
            }

            Console.ReadKey();
            Console.Clear();
        }
Ejemplo n.º 2
0
        private void DisplayAvailableSitesBySelectedCampground(Campground campground, string startDate, string endDate)
        {
            menus.DisplayAvailableSitesMenu(campground);

            ParkSqlDAL  availableSitesDal = new ParkSqlDAL(_dbConnectionString);
            List <Site> availableSites    = availableSitesDal.AvailableSitesToReserve(campground.CampgroundId, startDate, endDate);

            bool exit = false;

            if (availableSites.Count > 0)
            {
                for (int index = 0; index < availableSites.Count; index++)
                {
                    string availableSiteInfo = (index + 1) + ") " +
                                               " " + availableSites[index].SiteNumber.ToString().PadLeft(15) +
                                               " " + availableSites[index].MaxOccupancy.ToString().PadLeft(10) +
                                               " " + availableSites[index].AccessibilityStr.PadLeft(15) +
                                               " " + availableSites[index].MaxRvLength.ToString().PadLeft(15) +
                                               " " + availableSites[index].UtilitiesStr.PadLeft(20);

                    if (index <= 9)
                    {
                        Console.WriteLine("  " + availableSiteInfo);
                    }
                    else
                    {
                        Console.WriteLine(" " + availableSiteInfo);
                    }
                }
            }
            else
            {
                menus.InvalidEntry();
            }

            int selection;

            List <string> completeReservationInfo = menus.CompleteReservationMenu();

            while (!exit)
            {
                if (availableSites.Count == 0)
                {
                    Console.WriteLine();
                    Console.Write(" There are no sites available for " + campground.CampgroundName + ".");
                    Console.Write(" Press any key to exit the application.");
                    exit = true;
                }
                else if (int.TryParse(completeReservationInfo[0], out selection))
                {
                    if (selection > 0 && selection <= availableSites.Count)
                    {
                        int siteID     = availableSites[selection - 1].SiteId;
                        int siteNumber = availableSites[selection - 1].SiteNumber;
                        DisplaySubmittedReservationInfo(campground, siteID, siteNumber, startDate, endDate, completeReservationInfo[1]);
                    }
                    else
                    {
                        menus.InvalidEntry();
                    }

                    exit = true;
                }

                Console.ReadKey();
                Console.Clear();
            }
        }