예제 #1
0
 public LiveDataManager(Config config, IEventAggregator eventAggregator)
 {
     _config           = config;
     _lignes           = new LigneSens[0];
     _updatePollTimer  = new Timer(CheckDataUpdate, null, -1, -1);
     _dataTimeoutTimer = new Timer(CheckDataTimeout, null, _config.Map.LiveDataTimeout, Timeout.InfiniteTimeSpan);
     eventAggregator.GetEvent <ExtentChangedEvent>().Subscribe(SetExtent);
     eventAggregator.GetEvent <SelectedLignesChangedEvent>().Subscribe(SetLignes);
 }
예제 #2
0
 public void SetLignes(IEnumerable <LigneSens> lignes)
 {
     if (lignes == null)
     {
         lignes = new LigneSens[0];
     }
     Lignes = lignes.ToList();
     UpdateLayersDefinitionExpressions();
     _eventAggregator.GetEvent <SelectedLignesChangedEvent>().Publish(lignes);
 }
예제 #3
0
 public MapManager(LiveDataManager liveDataManager, SymbolsManager symbolsManager, Config config, IEventAggregator eventAggregator, IPageDialogService dialogService, GeolocationManager geolocationManager)
 {
     _vehiculesLayer = new GraphicsOverlay
     {
         MinScale = config.Map.VehiculesLayerMinScale
     };
     _liveDataManager = liveDataManager;
     _liveDataManager.DataUpdateAvailable   += OnDataUpdateAvailable;
     _liveDataManager.VehiculeLimitExceeded += OnVehiculeLimitExceeded;
     _liveDataManager.DataTimeout           += OnDataTimeout;
     _symbolsManager     = symbolsManager;
     _symbolsCache       = new Dictionary <string, PictureMarkerSymbol>();
     _config             = config;
     _eventAggregator    = eventAggregator;
     _dialogService      = dialogService;
     _geolocationManager = geolocationManager;
     Lignes = new LigneSens[0];
 }