Esempio n. 1
0
        private void SearchForAvailableReservations(int ParkID)
        {
            string      CampgroundChoice = CLIHelper.GetString("Which campground would you like?");
            string      ArrivalDate      = CLIHelper.GetDate("What is the arrival date?");
            string      DepartureDate    = CLIHelper.GetDate("What is the departure date?");
            SiteDAL     sdal             = new SiteDAL(DatabaseConnection);
            List <Site> slist            = sdal.ViewAvailReservations(CampgroundChoice, ArrivalDate, DepartureDate);

            if (slist.Count > 0)
            {
                CampgroundDAL cgdal         = new CampgroundDAL(DatabaseConnection);
                double        camgroundCost = cgdal.GetCampgroundCost(CampgroundChoice);
                Console.WriteLine("Available sites & details for your dates:");
                Console.WriteLine("Site ID" + " " + "Max Occupancy" + " " + "Accessible?" + " " + "Max RV Length" + " " + "Utilities" + " " + "Cost");

                foreach (Site item in slist)
                {
                    Console.Write("   " + item.site_id.ToString().PadRight(9) + " " + item.max_occupancy.ToString().PadRight(10) + " " + TrueFalse(item.accessible).ToString().PadRight(14) + " " + item.max_rv_length.ToString().PadRight(10) + " " + TrueFalse(item.utilities).ToString().PadRight(8) + " " + camgroundCost);
                    Console.WriteLine();
                }

                string siteChoiceToReserve = CLIHelper.GetString("Which site should be reserved (enter 0 to cancel)");

                if (siteChoiceToReserve == "0")
                {
                    return;
                }

                bool SiteIsInTheList = false;

                foreach (Site item in slist)
                {
                    if (item.site_id.ToString() == siteChoiceToReserve)
                    {
                        SiteIsInTheList = true;
                    }
                }

                if (!SiteIsInTheList)

                {
                    Console.WriteLine("Sorry, that Site ID isn't in our list!  Please start over.");
                    return;
                }

                string name = CLIHelper.GetString("What name should the reservation be made under?");
                MakeReservation(siteChoiceToReserve, name, ArrivalDate, DepartureDate);
            }
            else
            {
                Console.WriteLine("Sorry, no campsites are available. Please try again with different dates.");
                return;
            }
        }
        public void Test_NoReservations_ReturnsOpenSiteId()
        {
            //Arrange
            SiteDAL  dal      = new SiteDAL(DatabaseConnection);
            DateTime fromDate = DateTime.Now;
            DateTime toDate   = DateTime.Now.AddDays(5);

            //Act
            List <Site> availableSites = dal.ViewAvailReservations(campgroundID.ToString(), fromDate.ToString(), toDate.ToString());

            //Assert
            Assert.AreEqual(1, availableSites.Count);
            Assert.AreEqual(SiteID, availableSites[0].site_id);
        }
        public void RequestSitesThatOverlapTheStartOfASavedReservation()
        {
            //Arrange
            SiteDAL  dal      = new SiteDAL(DatabaseConnection);
            DateTime fromDate = DateTime.Now.AddDays(3);
            DateTime toDate   = DateTime.Now.AddDays(10);

            DateTime alreadyInFromDate = DateTime.Now.AddDays(1);
            DateTime alreadyInToDate   = DateTime.Now.AddDays(4);

            ReservationDAL rdal = new ReservationDAL(DatabaseConnection);

            rdal.AddReservation(campgroundID.ToString(), "TestFamily", alreadyInFromDate.ToString(), alreadyInToDate.ToString());

            //Act
            List <Site> availableSites = dal.ViewAvailReservations(SiteID.ToString(), fromDate.ToString(), toDate.ToString());

            //Assert
            Assert.AreEqual(0, availableSites.Count);
        }
        public void RequestSiteWhenMyStayIsExactlyTheSameAsASavedReservation()
        {
            //Arrange
            SiteDAL  dal      = new SiteDAL(DatabaseConnection);
            DateTime fromDate = DateTime.Now.AddDays(2);
            DateTime toDate   = DateTime.Now.AddDays(8);

            DateTime alreadyInFromDate = DateTime.Now.AddDays(2);
            DateTime alreadyInToDate   = DateTime.Now.AddDays(8);

            ReservationDAL rdal = new ReservationDAL(DatabaseConnection);

            rdal.AddReservation(campgroundID.ToString(), "TestFamily", alreadyInFromDate.ToString(), alreadyInToDate.ToString());

            //Act
            List <Site> availableSites = dal.ViewAvailReservations(SiteID.ToString(), fromDate.ToString(), toDate.ToString());

            //Assert
            Assert.AreEqual(0, availableSites.Count);
        }
        public void RequestSitesAfterASavedReservation()
        {
            //Arrange
            SiteDAL  dal      = new SiteDAL(DatabaseConnection);
            DateTime fromDate = DateTime.Now.AddDays(5);
            DateTime toDate   = DateTime.Now.AddDays(10);

            DateTime alreadyInFromDate = DateTime.Now.AddDays(1);
            DateTime alreadyInToDate   = DateTime.Now.AddDays(4);

            ReservationDAL rdal = new ReservationDAL(DatabaseConnection);

            rdal.AddReservation("1", "TestFamily", alreadyInFromDate.ToString(), alreadyInToDate.ToString());

            //Act
            List <Site> availableSites = dal.ViewAvailReservations(campgroundID.ToString(), fromDate.ToString(), toDate.ToString());

            //Assert
            Assert.AreEqual(1, availableSites.Count);
            Assert.AreEqual(SiteID, availableSites[0].site_id);
        }