//resCancaled //Makes a reservation for a dog alone in a run public List <int> AddReservation(int petNumber, DateTime startDate, DateTime endDate) { e errCode = e.success; int resNumber = -1; List <int> retVals = new List <int>(); if (Validation.sBeforeToday(startDate)) { errCode = e.sBeforeToday; } else if (Validation.sAfterEnd(startDate, endDate)) { errCode = e.sAfterEnd; } else if (Validation.invalidPet(petNumber)) { errCode = e.invalidPet; } else if (Validation.runUnavailable(startDate, endDate, petNumber)) { errCode = e.runUnavailable; } else if (Validation.alreadyReserved(startDate, endDate, petNumber)) { errCode = e.alreadyReserved; } else { ReservationDB resDB = new ReservationDB(); resNumber = resDB.Add(startDate, endDate); if (resNumber < 0) { errCode = e.insertFail; } else { if (AddToReservation(resNumber, petNumber) < -10) { errCode = e.insertFail; } else { if (ListExpOrMissVaccs(petNumber, endDate).Count != 0) { errCode = e.vaccInvalid; } } } } retVals.Add(Convert.ToInt16(errCode)); retVals.Add(resNumber); return(retVals); }