示例#1
0
        public void Setup()
        {
            transaction       = new TransactionScope();
            parkSqlDao        = new ParkSqlDAO(ConnectionString);
            campgroundSqlDao  = new CampgroundSqlDAO(ConnectionString);
            siteSqlDAO        = new SiteSqlDAO(ConnectionString);
            reservationSqlDAO = new ReservationSqlDAO(ConnectionString);

            using (SqlConnection connection = new SqlConnection(ConnectionString))
            {
                connection.Open();
                SqlCommand cmdPark       = new SqlCommand($"select count(*) from park where name = '{name}'", connection);
                SqlCommand cmdCampground = new SqlCommand($"select count(*) from campground where park_id in (select park_id from park where name = '{name}')", connection);
                SqlCommand cmdSite       = new SqlCommand($"select count(*) from site where campground_id in (select campground_id from campground where name = '{nameCampground}')", connection);

                if (Convert.ToInt32(cmdPark.ExecuteScalar()) == 0)
                {
                    cmdPark = new SqlCommand($"insert into park values('{name}', '{location}', '{establish_date}', {area}, {visitors}, '{discription}')", connection);
                    cmdPark.ExecuteNonQuery();
                }

                if (Convert.ToInt32(cmdCampground.ExecuteScalar()) == 0)
                {
                    cmdCampground = new SqlCommand($" insert into campground (park_id, name, open_from_mm, open_to_mm, daily_fee) values((select park_id from park where name = '{name}'), '{nameCampground}', {open_from_mm}, {open_to_mm}, {daily_fee})", connection);
                    cmdCampground.ExecuteNonQuery();
                }

                if (Convert.ToInt32(cmdSite.ExecuteScalar()) == 0)
                {
                    cmdSite = new SqlCommand($" insert into site (campground_id, site_number, max_occupancy, accessible, max_rv_length, utilities) values((select campground_id from campground where name = '{nameCampground}'), 13, 6, 0, 0, 1)", connection);
                    cmdSite.ExecuteNonQuery();
                }
            }
        }
        public void BookReservationsTest()
        {
            //initialize reservation
            Reservation alpha = new Reservation();

            //gets connections
            using (SqlConnection connection = new SqlConnection(ConnectionString))
            {
                //opens connection
                connection.Open();
                //Arrange
                //querystring = the query we want to put into the SQL databse to get the values for the reservation
                string queryString = $"SELECT * FROM reservation WHERE reservation_id = {BlackLodgeReservationId}";
                //takes query string and makes it into a command that can be used in SQL
                SqlCommand command = new SqlCommand(queryString, connection);
                //gets the data returend by the query
                SqlDataReader reader = command.ExecuteReader();
                //the reader reads row by row, in this case only reading the one row
                while (reader.Read())
                {
                    alpha = new Reservation(reader);
                }
            }

            ReservationSqlDAO beta = new ReservationSqlDAO(ConnectionString);

            //Act
            int testRes = beta.BookReservation(alpha);

            //Assert
            Assert.IsTrue(testRes != 0);
        }
示例#3
0
        private void DisplayInfoForReservation(Campground campground, string arrivalDate, string departureDate)
        {
            int          count           = 1;
            IList <Site> topFiveSiteList = siteDAO.GetTop5SitesInCampground(campground, arrivalDate, departureDate);

            foreach (Site campsite in topFiveSiteList)
            {
                string Accessible = ReturnYesORNoForBool(campsite.Accessible);
                string Utilities  = ReturnYesORNoForBool(campsite.Utilities);
                Console.WriteLine("");
                Console.Write($"{count}){campsite.Site_Number}".PadRight(10));
                Console.Write($"\t {campsite.Max_Occupancy}".PadRight(10));
                Console.Write($"\t {Accessible}".PadRight(10));
                Console.Write($"\t {campsite.Max_RV_Length}".PadRight(10));
                Console.Write($"\t {Utilities}".PadRight(10));
                Console.Write($"\t {campground.Daily_Fee:C}".PadRight(10));
                Console.WriteLine("");
                count++;
            }
            int    siteNumber = GetInteger("Which site should be reserved (enter 0 to cancel)?");
            string name       = GetString("What name should the reservation be made under?");

            Site site = topFiveSiteList.ElementAt(siteNumber - 1);

            ReservationSqlDAO ReservationDAO = new ReservationSqlDAO(ConnectionString);
            int reservationId = ReservationDAO.CreateNewReservation(site, name, arrivalDate, departureDate);

            Console.WriteLine($"The reservation has been made and the confirmation id is {reservationId}");
            Pause("");
            ViewParksMenu menu = new ViewParksMenu();

            menu.Run();
        }
        public void GetReservation_ShouldReturnCorrectInformation_AndConvertReservationToReaderWorks()
        {
            ReservationSqlDAO dao         = new ReservationSqlDAO(ConnectionString);
            Reservation       reservation = dao.GetReservation(this.ReservationId);

            Assert.AreEqual("Flintstone", reservation.Name);
        }
示例#5
0
        public void CreateReservationTest()
        {
            // Arrange
            IReservationDAO dao = new ReservationSqlDAO(connection);

            // Act
            Reservation r = new Reservation()
            {
                SiteID     = 2,
                Name       = "Ryan Family Reservation",
                FromDate   = DateTime.Now,
                ToDate     = DateTime.Now,
                CreateDate = DateTime.Now
            };
            Reservation r2 = new Reservation()
            {
                SiteID     = 3,
                Name       = "Bauer Family Reservation",
                FromDate   = DateTime.Now,
                ToDate     = DateTime.Now,
                CreateDate = DateTime.Now
            };
            int thisOneIs45 = dao.CreateReservation(r);
            int thisOneIs46 = dao.CreateReservation(r2);

            // Assert
            Assert.AreEqual(45, thisOneIs45);
            Assert.AreEqual(46, thisOneIs46);
            Assert.AreEqual(46, dao.GetAllReservations().Count);
        }
        public override void Setup()
        {
            base.Setup();
            daoR = new ReservationSqlDAO(ConnectionString);

            using (SqlConnection connection = new SqlConnection(ConnectionString))
            {
                string reservationSearch = @"
               SET IDENTITY_INSERT Park ON
               INSERT INTO Park (park_id, name, location, establish_date, area, visitors, description)
               VALUES (1, 'Franklin', 'Ohio', '2010-01-01', 120, 120, 'Cool place')
               SET IDENTITY_INSERT PARK OFF
               SET IDENTITY_INSERT campground ON INSERT INTO campground (campground_id, park_id, name, open_from_mm, open_to_mm, daily_fee)
               VALUES (144, 1, 'BlackWoods', 1, 12, 35.00)
               SET IDENTITY_INSERT campground OFF
               SET IDENTITY_INSERT site ON INSERT INTO site (site_id, campground_id, site_number, max_occupancy, accessible, max_rv_length, utilities)
               VALUES (96, 144, 12, 6, 0, 0, 0)
               SET IDENTITY_INSERT site OFF
               INSERT INTO reservation(site_id, name, from_date, to_date, create_date)
               VALUES((SELECT site_id FROM site WHERE site_number = 12), 'Hobo Family Reservation', '2019-01-01', '2019-12-31', '2010-01-01'); SELECT SCOPE_IDENTITY()";


                SqlCommand command = connection.CreateCommand();
                command.CommandText = reservationSearch;

                connection.Open();

                newReservationId = Convert.ToInt32(command.ExecuteScalar());
            }
        }
        public void GetAllReservationsTest()
        {
            ReservationSqlDAO res = new ReservationSqlDAO();

            IList <Reservation> actualResult = res.GetAllReservations();

            Assert.IsTrue(actualResult.Count > 0);
        }
 /// <summary>
 /// Constructor adds items to the top-level menu. You will likely have parameters  passed in
 /// here...
 /// </summary>
 public MainMenu(ParkSqlDAO park, CampgroundSqlDAO campground, SiteSqlDAO site, ReservationSqlDAO reservation) : base("Main Menu")
 {
     this.parkDao        = park;
     this.campgroundDao  = campground;
     this.siteDao        = site;
     this.reservationDao = reservation;
     parks = this.parkDao.GetParks();
 }
        public void PlaceReservation_Should_Return_ReservationId()
        {
            ReservationSqlDAO dao = new ReservationSqlDAO(base.ConnectionString);

            int newReservationId = dao.PlaceReservation("doesn't matter", base.CampsiteId, DateTime.Now, DateTime.Now);

            Assert.AreEqual(base.NewReservationId + 1, newReservationId);
        }
示例#10
0
        public void UpcomingReservationHappyPathTest()
        {
            ReservationSqlDAO dao = new ReservationSqlDAO(ConnectionString);

            IList <Reservation> reservations = dao.UpcomingReservations(ParkId);

            Assert.AreEqual(2, reservations.Count);
        }
 /// <summary>
 /// Constructor adds items to the top-level menu
 /// </summary>
 public CampgroundMenu(Park park, CampgroundSqlDAO campgroundDao, SiteSqlDAO siteDao, ReservationSqlDAO reservationDao) :
     base("Park Menu")
 {
     this.campgroundDao  = campgroundDao;
     this.siteDao        = siteDao;
     this.reservationDao = reservationDao;
     this.park           = park;
 }
示例#12
0
        public void GetAllReservations_ReturnsCorrectNumberOfResrevations()
        {
            ReservationSqlDAO dao = new ReservationSqlDAO(connectionString);

            IList <Reservation> reservationList = dao.GetAllReservationInformation();


            Assert.AreEqual(2, reservationList.Count);
        }
 /// <summary>
 /// Constructor adds items to the top-level menu
 /// </summary>
 public SiteMenu(Park park, Campground campground, SiteSqlDAO siteDao, ReservationSqlDAO reservationDao, string arrivalDate, string departureDate) :
     base("Park Menu")
 {
     this.siteDao        = siteDao;
     this.reservationDao = reservationDao;
     this.campground     = campground;
     this.arrivalDate    = arrivalDate;
     this.departureDate  = departureDate;
     this.park           = park;
 }
        public void GetAllReservations_ShouldReturn1()
        {
            //Arrange
            ReservationSqlDAO dao = new ReservationSqlDAO(ConnectionString);
            //Act
            IList <Reservation> output = dao.GetAllReservations(this.SiteId);

            //Assert
            Assert.AreEqual(1, output.Count);
        }
        public void ViewReservationsTest1()
        {
            //arrange
            ReservationSqlDAO dao = new ReservationSqlDAO(connectionString);
            //act
            IList <Reservation> listOfReservations = dao.ViewReservations();

            //assert
            Assert.AreEqual(30, listOfReservations.Count);
        }
        public void GetReservationBySitesTest()
        {
            //Arrange
            ReservationSqlDAO reservationSqlDAO = new ReservationSqlDAO(connectionString);
            //Act
            IList <Reservations> reservations = reservationSqlDAO.GetReservationBySites(testCampsiteId);

            //Assert
            Assert.IsTrue(reservations.Count > 0);
        }
示例#17
0
        public void AvailablityTest()
        {
            // Arrange
            ReservationSqlDAO reserve = new ReservationSqlDAO(connectionString);
            var date1 = new DateTime(2008, 10, 10);

            // Act
            reserve.IsAvailable(date1, date1, 1);
            //Assert
            Assert.AreEqual(true, true);
        }
示例#18
0
        public void GetAvailableSites_Test_Should_Return_List()
        {
            //Arrange
            ReservationSqlDAO dao = new ReservationSqlDAO(this.connectionString);

            //Act
            List <Site> list = dao.GetAvailableSites(start, end, this.BlackwoodsID);

            //Assert
            Assert.AreEqual(5, list.Count);
        }
      public void SearchReservationsTest()
      {
          DateTime fromDate = DateTime.Parse("2020-08-10");
          DateTime toDate   = DateTime.Parse("2020-08-11");

          ReservationSqlDAO   reservationSql = new ReservationSqlDAO(connectionString);
          IList <Reservation> reservations   = new List <Reservation>();

          reservations = reservationSql.SearchReservations("1", fromDate, toDate);
          Assert.IsTrue(reservations.Count > 0);
      }
示例#20
0
        public void MakeReservationTest()
        {
            // Arrange
            ReservationSqlDAO reserve = new ReservationSqlDAO(connectionString);
            var date1 = new DateTime(2008, 10, 10);

            // Act
            reserve.MakeReservation(date1, date1, "bob", 1);
            //Assert
            Assert.AreEqual(false, false);
        }
        public void AvailableSitesTests()
        {
            // Arrange
            ReservationSqlDAO dao = new ReservationSqlDAO(connectionString);

            // Act
            int actual = dao.BookReservation("Joe Schmo", lastSiteId, new DateTime(2020, 04, 05), new DateTime(2020, 04, 07));

            // Assert
            Assert.AreEqual(Confirmation + 1, actual);
        }
示例#22
0
        public void CreateReservation_Should_ReturnNewReservationId()
        {
            // Arrange
            ReservationSqlDAO dao = new ReservationSqlDAO(ConnectionString);

            // Act
            int returnedId = dao.CreateReservation(SiteId, "Test Name", DateTime.Now.AddDays(1), DateTime.Now.AddDays(3));

            // Assert
            Assert.AreEqual(ReservationId + 1, returnedId);
        }
        public void GetReservationsShouldReturnAllReservations()
        {
            //Arrange
            ReservationSqlDAO dao = new ReservationSqlDAO(ConnectionString);


            //Act


            //Assert
        }
示例#24
0
        public void GetReservationsWithin30DaysSelectedPark()
        {
            //ARRANGE
            ReservationSqlDAO dao = new ReservationSqlDAO(ConnectionString);

            //ACT
            List <Reservation> result = (List <Reservation>)dao.GetReservationsWithin30DaysSelectedPark(ParkId.ToString());

            //ASSERT
            Assert.AreEqual(2, result.Count);
        }
示例#25
0
        public void IsAvailableTest2()
        {
            // Arrange
            ReservationSqlDAO reserve = new ReservationSqlDAO(connectionString);
            var date1 = new DateTime(2019, 10, 10);

            // Act
            reserve.IsAvailable(date1, date1, 1);
            //Assert
            Assert.AreEqual(false, false);
        }
示例#26
0
        public void TestCreateReservation()
        {
            ReservationSqlDAO dao = new ReservationSqlDAO(connectionString);

            DateTime fromDate = Convert.ToDateTime("06/18/2020");
            DateTime toDate   = Convert.ToDateTime("06/19/2020");

            int reservation = dao.BookReservation(site_id, "Bob", fromDate, toDate);

            Assert.IsNotNull(reservation);
        }
示例#27
0
        public void GetReservationByIDTest()
        {
            // Arrange
            IReservationDAO dao = new ReservationSqlDAO(connection);

            // Act
            Reservation r = dao.GetReservationByID(4);

            // Assert
            Assert.AreEqual("Bauer Family Reservation", r.Name);
            Assert.IsNull(dao.GetReservationByID(50));
        }
示例#28
0
        public void IsInSeasonTest()
        {
            //arrange
            ReservationSqlDAO dao = new ReservationSqlDAO(connectionString);
            //act
            DateTime startDate  = new DateTime(2019, 10, 19);
            DateTime endDate    = new DateTime(2019, 10, 21);
            bool     isInSeason = dao.IsInSeason(1, startDate, endDate);

            //assert
            Assert.IsTrue(isInSeason);
        }
示例#29
0
        public void CreateReservationTest()
        {
            //arrange
            ReservationSqlDAO dao = new ReservationSqlDAO(connectionString);
            //act
            DateTime startDate     = new DateTime(2019, 10, 19);
            DateTime endDate       = new DateTime(2019, 10, 21);
            int      reservationId = dao.CreateReservation(1, "Voldemort", startDate, endDate);

            //assert
            Assert.AreEqual(47, reservationId);
        }
示例#30
0
        public void GetAllReservationsTest()
        {
            // Arrange
            IList <Reservation> reservations;
            IReservationDAO     dao = new ReservationSqlDAO(connection);

            // Act
            reservations = dao.GetAllReservations();

            // Assert
            Assert.AreEqual(44, reservations.Count);
        }