Esempio n. 1
0
        public void GetReservationTest()
        {
            SiteDAL            dal          = new SiteDAL(connectionString);
            List <Reservation> reservations = dal.GetReservation(campgroundId);

            Assert.AreEqual(1, reservations.Count);
            Assert.AreEqual("smith", reservations[0].Name);
        }
Esempio n. 2
0
        private void ReservationAvailable(int campground, DateTime start, DateTime end)
        {
            SiteDAL            dal              = new SiteDAL(databaseConnection);
            CampgroundDAL      dal2             = new CampgroundDAL(databaseConnection);
            Campground         campgroundObject = dal2.GetCampgroundById(campground);
            List <Reservation> reservations     = dal.GetReservation(campground);
            //List<Reservation> booked = new List<Reservation>();
            List <Site>        sites     = dal.GetSites(campground);
            List <Reservation> available = new List <Reservation>();

            Console.WriteLine("Site Id | Max Occupancy | Accessible | Max RV Size | Utilities | Daily Fee");
            reservations.ForEach(res =>
            {
                bool overlap = (end >= res.StartDate && end <= res.EndDate) ||
                               (start >= res.StartDate && start <= res.EndDate) ||
                               (start <= res.StartDate && end >= res.EndDate);

                //bool overlap = (res.StartDate <= end && start <= res.EndDate) ||
                //               (start <= res.StartDate && res.StartDate <= end) ||
                //               (start <= res.EndDate && res.EndDate <= end) ||
                //               (res.StartDate <= start && res.EndDate >= end);
                if (overlap)
                {
                    sites.Remove(sites.Find(s => s.Id == res.SiteId));
                }
            });
            if (sites.Count == 0)
            {
                Console.WriteLine("I am sorry, there are no reservations available during your specified date range. Please try again.");
            }

            sites.ForEach(availableSite =>
            {
                Console.WriteLine($"{availableSite.Id} {availableSite.MaxOccupancy} {availableSite.isAccessible} {availableSite.MaxRVLength} {availableSite.hasUtilities} {campgroundObject.DailyFee}");
            });
        }