示例#1
0
        public static List <Flight> SearchFlights(SearchFlightForm form)
        {
            using (var _context = new DiemServiceDB())
            {
                List <Flight> retVal = new List <Flight>();
                if (form.Flight_Arrival_Time == null || form.Flight_Departure_Time == null || form.From_Location == null || form.To_Location == null)
                {
                    throw new Exception("BAD QUERY VERY BAD QUERY");
                }
                retVal = _context.FlightDbSet.Include(x => x.From_Location).Include(x => x.To_Location).Include(x => x.Transits).Include(x => x.Provider)
                         .Where(x => x.To_Location.State == form.To_Location &&
                                x.From_Location.State == form.From_Location &&
                                DbFunctions.TruncateTime(x.Flight_Arrival_Time) == form.Flight_Arrival_Time.Date &&
                                DbFunctions.TruncateTime(x.Flight_Departure_Time) == form.Flight_Departure_Time.Date)
                         .ToList();
                if (form.Free_seats != 0)
                {
                    retVal = retVal.Where(u => u.Seats.Count(x => x == '0') > form.Free_seats).ToList();
                }
                if (form.Flight_class != 0)
                {
                    retVal = retVal.Where(u => u.FlightClass == form.Flight_class).ToList();
                }

                return(retVal);
            }
        }
示例#2
0
 public HttpResponseMessage SearchFlights(SearchFlightForm form)
 {
     return(Request.CreateResponse(HttpStatusCode.OK, FlightDbManager.SearchFlights(form)));
 }