//GET: ParkSearch
        public ActionResult ParkSearch(int id)
        {
            ParkSearchSqlDAL parkSearchDAL = new ParkSearchSqlDAL(connectionString);
            ParkSearch       parkSearch    = parkSearchDAL.RetrieveInfo(id);

            return(View("ParkSearch", parkSearch));
        }
Beispiel #2
0
        public ParkSearch RetrieveInfo(int id)
        {
            try
            {
                ParkSearch p = new ParkSearch();

                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    connection.Open();

                    SqlCommand cmd = new SqlCommand(SQL_PopulateSiteInfo, connection);

                    cmd.Parameters.AddWithValue("@park_id", id);
                    SqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        p.ParkId   = id;
                        p.ParkName = Convert.ToString(reader["name"]);
                    }

                    return(p);
                }
            }
            catch (SqlException ex)
            {
                throw;
            }
        }
        public IActionResult Detail(string id, ParkSearch ps)
        {
            HttpContext.Session.SetString("tempChoice", ps.TempChoice);
            ps.park        = parkDAO.GetParkById(id);
            ps.WeatherList = parkDAO.GetWeatherByPark(id);

            return(RedirectToAction("Detail"));
        }
Beispiel #4
0
        public ActionResult ParkScreen(ParkSearch parkSearch)
        {
            ReservationSqlDAL reservationDAL = new ReservationSqlDAL(connectionString);

            Session["ParkSearch"] = parkSearch;

            List <CampSite> siteList = reservationDAL.FindParkReservation(parkSearch);

            return(View("ParkScreen", siteList));
        }
Beispiel #5
0
        public void RetrieveInfoTest()
        {
            //Arrange
            ParkSearchSqlDAL parkSeachSqlDal = new ParkSearchSqlDAL(connectionString);

            //Act
            ParkSearch parksearch = parkSeachSqlDal.RetrieveInfo(1);

            //Assert
            Assert.IsNotNull(parksearch);
            Assert.AreEqual(nameOfPark, parksearch.ParkName);
        }
        public IActionResult Detail(string id)
        {
            Park       park = parkDAO.GetParkById(id);
            ParkSearch ps   = new ParkSearch();

            ps.park        = park;
            ps.WeatherList = parkDAO.GetWeatherByPark(id);

            ps.TempChoice = HttpContext.Session.GetString("tempChoice") ?? "F";

            return(View(ps));
        }
        public void CampgroundController_ParkSearchAction_RedirectToParkScreenView()
        {
            //Arrange
            CampgroundController controller = new CampgroundController();
            ParkSearch           model      = new ParkSearch();


            //Act
            RedirectToRouteResult result = controller.ParkSearch(model) as RedirectToRouteResult;

            //Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("ParkScreen", result.RouteValues["action"]);
        }
        public IActionResult Detail(string id, ParkSearch ps, User user)
        {
            if (user.Id > 0)
            {
                //user.TempPref = HttpContext.Session.GetString("tempChoice") ?? "F";
                ps.TempChoice = user.TempPref;
                userDAO.UpdateUser(user);
            }
            HttpContext.Session.SetString("tempChoice", ps.TempChoice);
            ps.park        = parkDAO.GetParkById(id);
            ps.WeatherList = parkDAO.GetWeatherByPark(id);

            return(RedirectToAction("Detail"));
        }
Beispiel #9
0
        public void ReservationController_ParkScreenAction_ReturnParkScreenView()
        {
            // Arrange
            ReservationController controller = new ReservationController();
            DateTime   arrive     = Convert.ToDateTime("07/04/2017");
            DateTime   depart     = Convert.ToDateTime("07/05/2017");
            ParkSearch parkSearch = new ParkSearch()
            {
                ArrivalDate   = arrive,
                DepartureDate = depart,
                MaxOccupancy  = 0,
                ParkId        = 1,
                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.ParkScreen(parkSearch) as ViewResult;

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("ParkScreen", result.ViewName);
        }
Beispiel #10
0
        public ActionResult ParkSubmit(int id)
        {
            //Session will always be filled but If/Else statement is there for testing purposes
            ParkSearch existingParkSearch = new ParkSearch();

            if (Session["ParkSearch"] != null)
            {
                existingParkSearch = Session["ParkSearch"] as ParkSearch;
            }
            else
            {
                existingParkSearch = new ParkSearch()
                {
                    ArrivalDate   = DateTime.Today,
                    DepartureDate = DateTime.Today
                };
            }

            Reservation reservation = new Reservation(id, existingParkSearch.ArrivalDate, existingParkSearch.DepartureDate);

            return(View("ParkSubmit", reservation));
        }
        public void FindParkReservationTest()
        {
            //Arrange
            ReservationSqlDAL reservationSqlDal = new ReservationSqlDAL(connectionString);
            ParkSearch        ps = new ParkSearch()
            {
                ParkId        = 1,
                ArrivalDate   = DateTime.Today,
                DepartureDate = DateTime.Today,
                MaxOccupancy  = 4,
                IsAccessible  = false,
                RVLength      = 0,
                NeedUtilities = false
            };

            //Act
            List <CampSite> campSites = reservationSqlDal.FindParkReservation(ps);

            //Assert
            Assert.IsNotNull(campSites);
            Assert.AreEqual(numberOfCampsites, campSites.Count);
        }
        public IActionResult Detail(string id, User user)
        {
            Park       park = parkDAO.GetParkById(id);
            ParkSearch ps   = new ParkSearch();

            ps.park        = park;
            ps.WeatherList = parkDAO.GetWeatherByPark(id);

            if (user.Id > 0)
            {
                user.TempPref = HttpContext.Session.GetString("tempChoice") ?? "F";
                ps.TempChoice = user.TempPref;
                //userDAO.UpdateUser(user);
            }
            else
            {
                ps.TempChoice = HttpContext.Session.GetString("tempChoice") ?? "F";
            }

            //ps.TempChoice = HttpContext.Session.GetString("tempChoice") ?? "F";

            return(View(ps));
        }
 public ActionResult ParkSearch(ParkSearch parkSearch)
 {
     return(RedirectToAction("ParkScreen", "Reservation", parkSearch));
 }
        public List <CampSite> FindParkReservation(ParkSearch parkSearch)
        {
            try
            {
                int             accessible     = 0;
                int             utilities      = 0;
                List <CampSite> availableSites = new List <CampSite>();


                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    connection.Open();

                    if (parkSearch.IsAccessible == false)
                    {
                        accessible = 0;
                    }
                    else
                    {
                        accessible = 1;
                    }

                    if (parkSearch.NeedUtilities == false)
                    {
                        utilities = 0;
                    }
                    else
                    {
                        utilities = 1;
                    }

                    SqlCommand cmd = new SqlCommand(SQL_ParkReservationSearch, connection);
                    cmd.Parameters.AddWithValue("@park_id", parkSearch.ParkId);
                    cmd.Parameters.AddWithValue("@from_date", parkSearch.ArrivalDate);
                    cmd.Parameters.AddWithValue("@to_date", parkSearch.DepartureDate);
                    cmd.Parameters.AddWithValue("@max_occupancy", parkSearch.MaxOccupancy);
                    cmd.Parameters.AddWithValue("@accessible", accessible);
                    cmd.Parameters.AddWithValue("@max_rv_length", parkSearch.RVLength);
                    cmd.Parameters.AddWithValue("@utilities", utilities);
                    cmd.Parameters.AddWithValue("@open_from_mm", parkSearch.ArrivalDate.Month);
                    cmd.Parameters.AddWithValue("@open_to_mm", parkSearch.ArrivalDate.Month);

                    SqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        if (parkSearch.ArrivalDate < DateTime.Today || parkSearch.DepartureDate < parkSearch.ArrivalDate)
                        {
                            availableSites = null;
                            break;
                        }

                        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.Campground   = Convert.ToString(reader["name"]);
                        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;
            }
        }