public void SwitchToRouteByArrival(ArrivalAndDeparture arrival, Action uiCallback) { operationTracker.WaitForOperation("StopsForRoute", string.Format("Loading details for route {0}...", arrival.routeShortName)); StopsForRouteCompleted callback = new StopsForRouteCompleted(this, arrival, uiCallback); busServiceModel.StopsForRoute_Completed += new EventHandler <EventArgs.StopsForRouteEventArgs>(callback.busServiceModel_StopsForRoute_Completed); Route placeholder = new Route() { id = arrival.routeId, shortName = arrival.routeShortName }; // This will at least cause the route number to immediately update CurrentViewState.CurrentRoute = placeholder; CurrentViewState.CurrentRouteDirection = new RouteStops(); busServiceModel.StopsForRoute(LocationTracker.CurrentLocation, placeholder); ChangeFilterForArrivals(placeholder); }
public void SwitchToRouteByArrival(ArrivalAndDeparture arrival, Action uiCallback) { operationTracker.WaitForOperation("StopsForRoute", string.Format("Loading details for route {0}...", arrival.routeShortName)); StopsForRouteCompleted callback = new StopsForRouteCompleted(this, arrival, uiCallback); busServiceModel.StopsForRoute_Completed += new EventHandler<EventArgs.StopsForRouteEventArgs>(callback.busServiceModel_StopsForRoute_Completed); Route placeholder = new Route() { id = arrival.routeId, shortName = arrival.routeShortName}; // This will at least cause the route number to immediately update CurrentViewState.CurrentRoute = placeholder; CurrentViewState.CurrentRouteDirection = new RouteStops(); busServiceModel.StopsForRoute(LocationTracker.CurrentLocation, placeholder); ChangeFilterForArrivals(placeholder); }