private void Reservation(int campgroundId) { DateTime arrivalInput = CLIHelper.GetDateTime("What is your desired arrival date?(MM/DD/YYYY)"); DateTime fromDate = Convert.ToDateTime(arrivalInput); DateTime departureInput = CLIHelper.GetDateTime("When would you like to leave?(MM/DD/YYYY)"); DateTime toDate = Convert.ToDateTime(departureInput); Console.WriteLine("Showing available sites "); SiteSqlDAL sal = new SiteSqlDAL(connectionString); List <Site> allCampSites = sal.CampsiteAvailability(campgroundId, fromDate, toDate); if (allCampSites.Count() <= 0) { Console.WriteLine("No available camp sites! Please make a new selection."); return; } else { foreach (Site s in allCampSites) { Console.WriteLine(); Console.WriteLine("SiteId " + s.SiteID); Console.WriteLine("Campground_Id " + s.CampgroundID); Console.WriteLine("SiteNumber " + s.SiteNumber); Console.WriteLine("MaxOccupancy " + s.MaxOccupancy); Console.WriteLine("Handicap Accessible " + s.Accessible); Console.WriteLine("MaxRvLength " + s.MaxRvLength); Console.WriteLine("Utilities are available " + s.Utilities); } ReservationSqlDAL ral = new ReservationSqlDAL(connectionString); campgroundPrice = (ral.CostOfCampground(campgroundId) * (toDate.DayOfYear - fromDate.DayOfYear)); Console.WriteLine("The total fee for these sites are: " + campgroundPrice.ToString("C")); Console.WriteLine(); int campSiteInput = CLIHelper.GetInteger("What Camp site are you booking for?"); Console.WriteLine(); string nameInput = CLIHelper.GetString("What name should the reservation be under?"); Console.WriteLine(); DateTime createDate = DateTime.Now; int wasReservationSuccessful = ral.MakeReservations(campSiteInput, nameInput, fromDate, toDate, createDate); if (wasReservationSuccessful > 0) { Console.WriteLine("Success!"); Console.WriteLine("Here is your conformation ID: " + wasReservationSuccessful); } else { Console.WriteLine("Sorry but that site is alreaday booked. Please try again."); } } }
public void MakeAReservationTest() { int fakePark; int fakeCampground; int fakeSite; DateTime fakeFrom = Convert.ToDateTime("2500 / 01 / 05"); DateTime fakeTo = Convert.ToDateTime("2500 / 01 / 07"); DateTime fakeCreate = Convert.ToDateTime("10 / 06 / 2017"); using (SqlConnection conn = new SqlConnection(connectionString)) { conn.Open(); SqlCommand cmd = new SqlCommand("Insert into Park values ('Big Fake Park', 'FAKE EVERYWHERE', '1919-02-26', 0000, 0, 'THIS IS SO FAKE ITS FUNNY')", conn); cmd.ExecuteNonQuery(); cmd = new SqlCommand("select cast(scope_identity() as int);", conn); fakePark = Convert.ToInt32(cmd.ExecuteScalar()); string fakeParkString = $"Insert into Campground values ({fakePark}, 'FAKE CAMPGROUND', 1, 12, 2.00)"; SqlCommand cmd2 = new SqlCommand(fakeParkString, conn); cmd2.ExecuteNonQuery(); cmd2 = new SqlCommand("select cast(scope_identity() as int)", conn); fakeCampground = Convert.ToInt32(cmd2.ExecuteScalar()); string fakeCampSiteString = $"Insert into Site values ({fakeCampground}, 2, 4, 0, 10, 1)"; SqlCommand cmd3 = new SqlCommand(fakeCampSiteString, conn); cmd3.ExecuteNonQuery(); cmd3 = new SqlCommand("select cast(scope_identity() as int)", conn); fakeSite = Convert.ToInt32(cmd3.ExecuteScalar()); } ReservationSqlDAL ral = new ReservationSqlDAL(connectionString); int output = ral.MakeReservations(fakeSite, "FAKE HUMAN NAME", fakeFrom, fakeTo, fakeCreate); Assert.IsTrue(output > 0); }