public string reserveFlight(int iRouteID, DateTime dtFlight, List <Flight_DAL.Passenger> lstPassengers) { IFlightDAL flightDAL = FlightDAOFactory.getInstance().getFlightDALInstance(); //Generate a ReservationID of length 8 string sMainReservationStr = generateReservationID(8); int iPassengerID = flightDAL.getNextPassengerID(); //get the last id of the passenger stored in database try { //check if seats are available if (checkIfAvailable(iRouteID, dtFlight, lstPassengers.Count)) { Reservation r = new Reservation(); r.ReservationID = sMainReservationStr; r.RouteID = iRouteID; r.ReservationDate = DateTime.Now; r.FlightDate = dtFlight; //add the first passenger from the list to the passengerlists foreach (Passenger p in lstPassengers) { p.PassengerID = iPassengerID++; p.ReservationID = sMainReservationStr; r.Passengers.Add(p); } flightDAL.saveReservation(r); return(sMainReservationStr); } else { throw new FlightException("Seats not available on the route selected!"); } } catch (FlightException f) { Console.WriteLine(f.Message); throw f; } }
public List <Reservation> getAllReservationsForDateOnRoute(int iRouteID, DateTime dtFlight) { IFlightDAL flightDAL = FlightDAOFactory.getInstance().getFlightDALInstance(); return(flightDAL.getAllReservationsForDateOnRoute(iRouteID, dtFlight)); }
public FlightManager(IFlightDAL context) { _context = context; }