//GET: Search
        public ActionResult Search(int id)
        {
            CampSiteSqlDAL campSiteDAL = new CampSiteSqlDAL(connectionString);
            CampSearch     campSearch  = campSiteDAL.RetrieveInfo(id);

            return(View("Search", campSearch));
        }
Exemplo n.º 2
0
        // 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));
        }
Exemplo n.º 3
0
        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"]);
        }
Exemplo n.º 5
0
        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;
            }
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 8
0
        // 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;
            }
        }