private List <Flight> CreateExternalFlights(string relative_to) { List <Flight> externalFlights = new List <Flight>(); foreach (Server s in context.Server) { string get = s.ServerURL + "api/Flights?relative_to=" + relative_to; try { externalFlights = LocalLibrary.GetFlightFromServer <List <Flight> >(get); } catch (Exception) { continue; } foreach (Flight f in externalFlights) { f.IsExternal = true; // Save the server that the current flight belongs to him. FlightDbContext.ServerID[f.FlightID] = s; } } context.SaveChanges(); return(externalFlights); }
public async Task <ActionResult <FlightPlan> > GetFlightPlan(string id) { var loc = await context.FirstLoc.ToListAsync(); var seg = await context.Segments.ToListAsync(); var flightPlan = await context.FlightPlan.FindAsync(id); if (flightPlan != null) { flightPlan.InitialLocation = loc.Where(a => a.ID.CompareTo(id) == 0).First(); flightPlan.Segments = seg.Where(a => a.ID.CompareTo(id) == 0).ToList(); return(flightPlan); } // Ask only the relevant server. try { var s = FlightDbContext.ServerID[id]; if (s == null) { return(NotFound()); } string get = s.ServerURL + "api/FlightPlan/" + id; flightPlan = LocalLibrary.GetFlightFromServer <FlightPlan>(get); if (flightPlan == null) { return(NotFound()); } } catch (WebException) { return(NotFound()); } catch (KeyNotFoundException) { return(NotFound()); } return(flightPlan); }