public static void InvokeGlobalMessage(object dummyObj) { var context = GlobalHost.ConnectionManager.GetHubContext <RealTimeUpdateHub>(); context.Clients.All.updateCoordinates(JsonConvert.SerializeObject(PlaneDataSource.GetUpdatedLocations())); //TODO This method will get all current flights and check for collisions and weather conditions Globals.FlightsProcessor.ProcessCurrentFlights(); }
private Timer timer; // Timer protected void Application_Start(object sender, EventArgs e) { RouteTable.Routes.MapHubs(); PlaneDataSource.LoadData(); TimerCallback callback = RealTimeUpdateHub.InvokeGlobalMessage; //Initialize the processor Globals.FlightsProcessor = new FlightProcessor(); Globals.FlightsProcessor.ApproachingBadWeather += FlightsProcessorOnApproachingBadWeather; Globals.FlightsProcessor.PossibleCollision += FlightsProcessor_PossibleCollision; // Update the position of the airplane timer = new Timer(callback, null, 1000, 1000); }