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); }