コード例 #1
0
 public async static Task <FlightOfferSearch> ReadByUrl(string reqUrl)
 {
     using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
     {
         FlightOfferSearch fos = db.FlightOfferSearches.Where(f => f.URLQuery == reqUrl)
                                 .Include(f => f.Airport)
                                 .Include(f => f.Airport1)
                                 .Include(f => f.FlightOfferResults)
                                 .Include(f => f.FlightOfferResults.Select(s => s.FlightsForOffers))
                                 .Include(f => f.FlightOfferResults.Select(ffo => ffo.FlightsForOffers.Select(fl => fl.Flights)))
                                 .Include(f => f.FlightOfferResults.Select(ffo => ffo.FlightsForOffers.Select(fl => fl.Flights.Select(a => a.Airport))))
                                 .Include(f => f.FlightOfferResults.Select(ffo => ffo.FlightsForOffers.Select(fl => fl.Flights.Select(a => a.Airport1))))
                                 .FirstOrDefault();
         //foreach(var fOfferResult in fos.FlightOfferResults)
         //{
         //    foreach(var flightForOffer in fOfferResult.FlightsForOffers)
         //    {
         //        foreach(var flight in flightForOffer.Flights)
         //        {
         //            flight.Airport = await AirportsRepo.ReadById(flight.DepartureAirportId);
         //            flight.Airport1 = await AirportsRepo.ReadById(flight.ArrivalAirportId);
         //        }
         //    }
         //}
         return(fos);
     }
 }
コード例 #2
0
        public static async Task <int> Count()
        {
            using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
            {
                int count = await db.Airports.CountAsync();

                return(count);
            }
        }
コード例 #3
0
        public static async Task <List <Airport> > ReadAll()
        {
            using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
            {
                List <Airport> airports = new List <Airport>();
                airports = await db.Airports.ToListAsync();

                return(airports);
            }
        }
コード例 #4
0
 public static async void CreateRange(List <Airport> airports)
 {
     using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
     {
         if (airports == null)
         {
             throw new Exception("Airport instance was not set.");
         }
         db.Airports.AddRange(airports);
         await db.SaveChangesAsync();
     }
 }
コード例 #5
0
        public static async Task <List <Airport> > ReadByName(string name)
        {
            using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
            {
                List <Airport> airports = new List <Airport>();
                airports = await db.Airports.Where(a => a.Name.Contains(name)).ToListAsync();

                if (airports == null)
                {
                    throw new Exception(name + " was not found.");
                }
                return(airports);
            }
        }
コード例 #6
0
        public static async Task <int> ReadByIATA(string IATA)
        {
            using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
            {
                Airport airport = new Airport();
                airport = await db.Airports.Where(a => a.IATA == IATA).FirstOrDefaultAsync();

                if (airport == null)
                {
                    throw new Exception("Airport with " + IATA + " IATA was not found.");
                }
                return(airport.Id);
            }
        }
コード例 #7
0
        public static async Task <Airport> ReadById(int id)
        {
            using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
            {
                Airport airport = new Airport();
                airport = await db.Airports.FindAsync(id);

                if (airport == null)
                {
                    throw new Exception("Airport with " + id + " ID was not found.");
                }
                return(airport);
            }
        }
コード例 #8
0
 public async static Task <FlightOfferSearch> ReadById(int id)
 {
     using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
     {
         FlightOfferSearch fos = db.FlightOfferSearches.Where(f => f.Id == id)
                                 .Include(f => f.Airport)
                                 .Include(f => f.Airport1)
                                 .Include(f => f.FlightOfferResults)
                                 .Include(f => f.FlightOfferResults.Select(s => s.FlightsForOffers))
                                 .Include(f => f.FlightOfferResults.Select(or => or.FlightsForOffers.Select(fl => fl.Flights)))
                                 .Include(f => f.FlightOfferResults.Select(ffo => ffo.FlightsForOffers.Select(fl => fl.Flights.Select(a => a.Airport))))
                                 .Include(f => f.FlightOfferResults.Select(ffo => ffo.FlightsForOffers.Select(fl => fl.Flights.Select(a => a.Airport1))))
                                 .FirstOrDefault();
         return(fos);
     }
 }
コード例 #9
0
        public static async Task <bool> DeleteAll()
        {
            using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
            {
                try
                {
                    db.FlightOfferSearches.RemoveRange(db.FlightOfferSearches);
                    await db.SaveChangesAsync();

                    return(true);
                }
                catch (Exception ex)
                {
                    throw new Exception("Greška kod brisanja pretraga.");
                }
            }
        }
コード例 #10
0
        public async static Task <int> Create(FlightOfferSearch fos)
        {
            using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
            {
                try
                {
                    db.FlightOfferSearches.Add(fos);
                    await db.SaveChangesAsync();

                    return(fos.Id);
                }
                catch (Exception ex)
                {
                    throw new Exception("Greška kod spremanja FlightOfferSearch u bazu podataka.");
                }
            }
        }
コード例 #11
0
        public static async Task <int> Create(FlightOfferResult flightOfferResult)
        {
            using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
            {
                try
                {
                    db.FlightOfferResults.Add(flightOfferResult);
                    await db.SaveChangesAsync();

                    return(flightOfferResult.Id);
                }
                catch
                {
                    throw new Exception("Greška kod dodavanja FlightOfferResult u bazu");
                }
            }
        }
コード例 #12
0
        public static async Task <bool> DeleteAll()
        {
            using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
            {
                try
                {
                    db.Airports.RemoveRange(db.Airports);
                    await db.SaveChangesAsync();

                    return(true);
                }
                catch (Exception ex)
                {
                    throw new Exception("Prvo je potrebno obrisati pretrage!");
                }
            }
        }
コード例 #13
0
        public static async Task <int> Create(FlightsForOffer ffo)
        {
            using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
            {
                try
                {
                    db.FlightsForOffers.Add(ffo);
                    await db.SaveChangesAsync();

                    return(ffo.Id);
                }
                catch (Exception ex)
                {
                    throw new Exception("Greška kod dodavanja FlightsForOffers u bazu");
                }
            }
        }
コード例 #14
0
        public static async Task <int> Create(Airport airport)
        {
            using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
            {
                if (airport == null)
                {
                    throw new Exception("Airport instance was not set.");
                }
                if (db.Airports != null && db.Airports.Where(a => a.IATA == airport.IATA).Count() > 0)
                {
                    return(db.Airports.Where(a => a.IATA == airport.IATA).FirstOrDefault().Id);
                }
                db.Airports.Add(airport);
                await db.SaveChangesAsync();

                return(airport.Id);
            }
        }
コード例 #15
0
        public async static Task <bool> DeleteAllSearches()
        {
            using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
            {
                try
                {
                    await FlightsRepo.DeleteAll();

                    await FlightsForOfferRepo.DeleteAll();

                    await FlightOfferResultsRepo.DeleteAll();
                    await DeleteAll();

                    return(true);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
コード例 #16
0
        public static async Task <List <Airport> > Search(string search, string otherSearch)
        {
            using (AirlineTicketsDBEntities db = new AirlineTicketsDBEntities())
            {
                if (otherSearch != "")
                {
                    otherSearch = GetIATA(otherSearch);
                }

                List <Airport> airports = new List <Airport>();
                if (search.Count() <= 3)
                {
                    airports = await db.Airports.Where(a => a.IATA.StartsWith(search.ToUpper()) && a.IATA != otherSearch).Take(10).ToListAsync();
                }
                else if (airports.Count == 0)
                {
                    airports = await db.Airports.Where(a => (a.Location.ToLower().Contains(search.ToLower()) || a.Name.ToLower().Contains(search.ToLower())) && a.IATA != otherSearch).Take(10).ToListAsync();
                }


                return(airports);
            }
        }