Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        public List <Reservation> getAllReservationsForDateOnRoute(int iRouteID, DateTime dtFlight)
        {
            IFlightDAL flightDAL = FlightDAOFactory.getInstance().getFlightDALInstance();

            return(flightDAL.getAllReservationsForDateOnRoute(iRouteID, dtFlight));
        }
Exemplo n.º 3
0
 public FlightManager(IFlightDAL context)
 {
     _context = context;
 }