public List<Reservation> getAllReservations() { flightContext.ContextOptions.LazyLoadingEnabled = false; var rQuery = from r in flightContext.Reservations select r; if (rQuery == null) return null; if (rQuery.Count() == 0) return null; Reservation res = null; List<Reservation> lstReservation = new List<Reservation>(); foreach (var reserve in rQuery) { if (!reserve.Passengers.IsLoaded) reserve.Passengers.Load(); res = new Reservation(); res.ReservationID = reserve.ReservationID; //set reservationid res.ReservationDate = reserve.ReservationDate; //set reservation date res.RouteID = reserve.RouteID; //set route id res.FlightDate = reserve.FlightDate; //set the flight date //todo - add the passenger list to the reservation. //res.Passengers = reserve.Passengers; res.Passengers = new System.Data.Objects.DataClasses.EntityCollection<Passenger>(); reserve.Passengers.ToList().ForEach(p => res.Passengers.Add(p)); lstReservation.Add(res); } return lstReservation; }
//get all the reservations done for a given date for a given route public List<Reservation> getAllReservationsForDateOnRoute(int iRouteID, DateTime dtFlight) { var rQuery = (from r in flightContext.Reservations where r.RouteID == iRouteID && (DateTime.Compare(r.FlightDate, dtFlight) == 0) select r); if (rQuery == null) return null; if (rQuery.Count() == 0) return null; Reservation res = null; List<Reservation> lstReservation = new List<Reservation>(); foreach (var reserve in rQuery) { res = new Reservation(); res.ReservationID = reserve.ReservationID; //set reservationid res.ReservationDate = reserve.ReservationDate; //set reservation date res.RouteID = reserve.RouteID; //set route id res.FlightDate = reserve.FlightDate; // set the flight date res.Passengers = new System.Data.Objects.DataClasses.EntityCollection<Passenger>(); reserve.Passengers.ToList().ForEach(p => res.Passengers.Add(p)); lstReservation.Add(res); } return lstReservation; }
//Make reservation on a flight public int saveReservation(Reservation r) { try { flightContext.AddToReservations(r); foreach (Passenger p in r.Passengers) { flightContext.AddToPassengers(p); } return flightContext.SaveChanges(); } catch (Exception e) { throw new FlightException("Error thrown while saving the Reservations- "+e.Message); } }
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; } }
/// <summary> /// Create a new Reservation object. /// </summary> /// <param name="reservationID">Initial value of the ReservationID property.</param> /// <param name="routeID">Initial value of the RouteID property.</param> /// <param name="reservationDate">Initial value of the ReservationDate property.</param> /// <param name="flightDate">Initial value of the FlightDate property.</param> public static Reservation CreateReservation(global::System.String reservationID, global::System.Int32 routeID, global::System.DateTime reservationDate, global::System.DateTime flightDate) { Reservation reservation = new Reservation(); reservation.ReservationID = reservationID; reservation.RouteID = routeID; reservation.ReservationDate = reservationDate; reservation.FlightDate = flightDate; return reservation; }
/// <summary> /// Deprecated Method for adding a new object to the Reservations EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToReservations(Reservation reservation) { base.AddObject("Reservations", reservation); }