예제 #1
0
        public static int changeReservation(int reservationNumber, DateTime startDate, DateTime endDate)
        {
            Search search = new HawkeyehvkBLL.Search();

            if (!search.validateReservationNumber(reservationNumber))// check reservation number
            {
                return(1);
            }
            else if (startDate > endDate)     // check that dates are in a valid order
            {
                return(2);
            }
            List <Pet> pets      = Pet.listPetsByReservation(reservationNumber);
            int        largeDogs = 0;

            foreach (Pet pet in pets)
            {
                if (pet.size == 'L')
                {
                    largeDogs++;
                }
            }
            // check that there are available runs

            if (Run.checkRunAvailability(startDate, endDate, 'L') < largeDogs ||
                Run.checkRunAvailability(startDate, endDate, 'R') < pets.Count)
            {
                return(3);
            }
            // change the res dates
            try
            {
                ReservationDB db = new ReservationDB();
                db.changeReservationDB(reservationNumber, startDate, endDate);
            } catch
            {
                return(4);
            }
            return(0);
        }