//GET: Search public ActionResult Search(int id) { CampSiteSqlDAL campSiteDAL = new CampSiteSqlDAL(connectionString); CampSearch campSearch = campSiteDAL.RetrieveInfo(id); return(View("Search", campSearch)); }
// GET: Index public ActionResult Index(CampSearch campSearch) { ReservationSqlDAL reservationDAL = new ReservationSqlDAL(connectionString); Session["CampSearch"] = campSearch; List <CampSite> siteList = reservationDAL.FindReservation(campSearch); return(View("Index", siteList)); }
public void RetrieveInfoTest() { //Arrange CampSiteSqlDAL campgroundSqlDal = new CampSiteSqlDAL(connectionString); //Act CampSearch campsearch = campgroundSqlDal.RetrieveInfo(1); //Assert Assert.IsNotNull(campsearch); Assert.AreEqual(nameOfCampground, campsearch.CampgroundName); }
public void CampgroundController_ParkSearchAction_RedirectToIndexView() { //Arrange CampgroundController controller = new CampgroundController(); CampSearch model = new CampSearch(); //Act RedirectToRouteResult result = controller.Search(model) as RedirectToRouteResult; //Assert Assert.IsNotNull(result); Assert.AreEqual("Index", result.RouteValues["action"]); }
public CampSearch RetrieveInfo(int id) { try { CampSearch c = new CampSearch(); using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); SqlCommand cmd = new SqlCommand(SQL_PopulateSiteInfo, connection); cmd.Parameters.AddWithValue("@campground_id", id); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Campground cg = new Campground(); int open = Convert.ToInt32(reader["open_from_mm"]); string openMonth = cg.ToMonth(open); int close = Convert.ToInt32(reader["open_to_mm"]); string closeMonth = cg.ToMonth(close); c.CampgroundId = id; c.CampgroundName = Convert.ToString(reader["name"]); c.OpenMonth = openMonth; c.OpenMonthNumber = open; c.CloseMonth = closeMonth; c.CloseMonthNumber = close; c.DailyFee = Convert.ToDouble(reader["daily_fee"]); } return(c); } } catch (SqlException ex) { throw; } }
public void ReservationController_IndexAction_ReturnIndexView() { // Arrange ReservationController controller = new ReservationController(); DateTime arrive = Convert.ToDateTime("07/04/2017"); DateTime depart = Convert.ToDateTime("07/05/2017"); CampSearch campSearch = new CampSearch() { CampgroundId = 1, ArrivalDate = arrive, DepartureDate = depart, MaxOccupancy = 0, IsAccessible = false, RVLength = 0, NeedUtilities = false }; // Mock Session Object Mock <HttpSessionStateBase> mockSession = new Mock <HttpSessionStateBase>(); // Mock Http Context Request for Controller // because Session doesn't exist unless MVC actually receives a "request" Mock <HttpContextBase> mockContext = new Mock <HttpContextBase>(); // When the Controller calls this.Session it will get a mock session mockContext.Setup(c => c.Session).Returns(mockSession.Object); // Assign the context property on the controller to our mock context which uses our mock session controller.ControllerContext = new ControllerContext(mockContext.Object, new RouteData(), controller); // Act ViewResult result = controller.Index(campSearch) as ViewResult; // Assert Assert.IsNotNull(result); Assert.AreEqual("Index", result.ViewName); }
public void FindReservationTest() { //Arrange ReservationSqlDAL reservationSqlDal = new ReservationSqlDAL(connectionString); CampSearch cs = new CampSearch() { CampgroundId = 1, ArrivalDate = DateTime.Today, DepartureDate = DateTime.Today, MaxOccupancy = 4, IsAccessible = false, RVLength = 0, NeedUtilities = false }; //Act List <CampSite> campSites = reservationSqlDal.FindReservation(cs); //Assert Assert.IsNotNull(campSites); Assert.AreEqual(numberOfCampsites, campSites.Count); }
// GET: Submit public ActionResult Submit(int id) { //Session will always be filled but If/Else statement is there for testing purposes CampSearch existingSearch = new CampSearch(); if (Session["CampSearch"] != null) { existingSearch = Session["CampSearch"] as CampSearch; } else { existingSearch = new CampSearch() { ArrivalDate = DateTime.Today, DepartureDate = DateTime.Today, DailyFee = 0.00 }; } Reservation reservation = new Reservation(id, existingSearch.ArrivalDate, existingSearch.DepartureDate, existingSearch.DailyFee); return(View("Submit", reservation)); }
public ActionResult Search(CampSearch campSearch) { return(RedirectToAction("Index", "Reservation", campSearch)); }
public List <CampSite> FindReservation(CampSearch campSearch) { try { int accessible = 0; int utilities = 0; List <CampSite> availableSites = new List <CampSite>(); using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); if (campSearch.IsAccessible == false) { accessible = 0; } else { accessible = 1; } if (campSearch.NeedUtilities == false) { utilities = 0; } else { utilities = 1; } SqlCommand cmd = new SqlCommand(SQL_ReservationSearch, connection); cmd.Parameters.AddWithValue("@campground_id", campSearch.CampgroundId); cmd.Parameters.AddWithValue("@from_date", campSearch.ArrivalDate); cmd.Parameters.AddWithValue("@to_date", campSearch.DepartureDate); cmd.Parameters.AddWithValue("@max_occupancy", campSearch.MaxOccupancy); cmd.Parameters.AddWithValue("@accessible", accessible); cmd.Parameters.AddWithValue("@max_rv_length", campSearch.RVLength); cmd.Parameters.AddWithValue("@utilities", utilities); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { int from = Convert.ToInt32(reader["open_from_mm"]); int to = Convert.ToInt32(reader["open_to_mm"]); if (campSearch.ArrivalDate.Month < from || campSearch.DepartureDate.Month > to) { break; } else if (campSearch.ArrivalDate < DateTime.Today || campSearch.DepartureDate < campSearch.ArrivalDate) { availableSites = null; break; } else { CampSite site = new CampSite(); bool isAccessible = Convert.ToBoolean(reader["accessible"]); string YesOrNO = site.BoolToString(isAccessible); bool hasUtilities = Convert.ToBoolean(reader["utilities"]); string YON = site.BoolToString(hasUtilities); site.SiteId = Convert.ToInt32(reader["site_id"]); site.SiteNumber = Convert.ToInt32(reader["site_number"]); site.MaxOccupancy = Convert.ToInt32(reader["max_occupancy"]); site.Accessible = YesOrNO; site.MaxRvLength = Convert.ToInt32(reader["max_rv_length"]); site.Utilities = YON; site.Cost = Convert.ToDouble(reader["daily_fee"]); availableSites.Add(site); } } } return(availableSites); } catch (SqlException e) { throw; } }