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 CampsiteAvailability() { int fakePark; int fakeCampground; int fakeSite; DateTime fakeFrom = Convert.ToDateTime("2020 / 01 / 05"); DateTime fakeTo = Convert.ToDateTime("2020 / 01 / 07"); DateTime fakeCreate = Convert.ToDateTime("10 / 06 / 2017"); DateTime fakeReservationCreate = DateTime.Now; int fakeOpenMonth = 1; int fakeCloseMonth = 11; int fakeReservation; decimal fakeMoney = 2.00M; 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', {fakeOpenMonth}, {fakeCloseMonth}, {fakeMoney})"; 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()); string fakeReservationString = $"Insert into Reservation values ({fakeSite}, 'FAKE HUMAN NAME', '2017/09/01', '2017/09/05', '10/06/2017')"; SqlCommand cmd4 = new SqlCommand(fakeReservationString, conn); cmd4.ExecuteNonQuery(); cmd4 = new SqlCommand("select cast(scope_identity() as int)", conn); fakeReservation = Convert.ToInt32(cmd4.ExecuteScalar()); } SiteSqlDAL sal = new SiteSqlDAL(connectionString); List <Site> output = sal.CampsiteAvailability(fakeCampground, fakeFrom, fakeTo); Assert.IsFalse(output.Count < 1); }