private void ServiceInfo_RetrieveFeatureInfoCompleted(object sender, RetrieveFeatureInfoEventArgs e) { if (--_servicesLeft <= 1) { ArcGisServiceInfo.ServiceInfo.RetrieveServiceInfoCompleted -= ServiceInfo_RetrieveServiceInfoCompleted; ArcGisServiceInfo.ServiceInfo.RetrieveFeatureInfoCompleted -= ServiceInfo_RetrieveFeatureInfoCompleted; IsDropDownOpen = true; } try { if (e.Error != null) { ErrorHelper.OnError(MethodBase.GetCurrentMethod().DeclaringType.Name, "Error pulling arcgis service from server", e.Error); return; } App.Current.Dispatcher.Invoke((Action) delegate { Services.Add(e.FeatureData); NotifyPropertyChanged("ServicesView"); }); } catch (Exception ex) { ErrorHelper.OnError(MethodBase.GetCurrentMethod().DeclaringType.Name, "Error pulling arcgis services from server", ex); } }
private void RetrieveFeatureInfoCompleted(object sender, RetrieveFeatureInfoEventArgs e) { try { if (e.Error != null) { ErrorHelper.OnError(MethodBase.GetCurrentMethod().DeclaringType.Name, "Error pulling service info", e.Error); return; } Service = e.FeatureData; IsLayerDropDownOpen = true; } catch (Exception ex) { ErrorHelper.OnError(MethodBase.GetCurrentMethod().DeclaringType.Name, "Error pulling service info", ex); } }
private void ServiceInfo_RetrieveFeatureInfoCompleted(object sender, RetrieveFeatureInfoEventArgs e) { try { ArcGisServiceInfo.ServiceInfo.RetrieveFeatureInfoCompleted -= ServiceInfo_RetrieveFeatureInfoCompleted; if (e.Error != null) { ErrorHelper.OnError(MethodBase.GetCurrentMethod().DeclaringType.Name, "Error pulling service info", e.Error); return; } if (_pollObject is CacheSettings) { var cache = _pollObject as CacheSettings; var index = Configuration.MapServices.IndexOf(cache); var name = cache.Name; Application.Current.Dispatcher.BeginInvoke((Action)(() => { var dlgCache = new EditCacheDialog(); dlgCache.ViewModel.Configuration = cache; dlgCache.ViewModel.MapService = e.FeatureData; dlgCache.ShowDialog(); if (dlgCache.DialogResult == true) { Configuration.MapServices[index] = dlgCache.ViewModel.Configuration; foreach (var gcdr in Configuration.Geocoders.Where(gcdr => gcdr.CacheName == name)) { gcdr.CacheName = Configuration.MapServices[index].Name; } foreach (var stint in Configuration.StreetList.Where(stint => stint.CacheName == name)) { stint.CacheName = Configuration.MapServices[index].Name; } } })); } else if (_pollObject is GeocoderSettings) { var geocoder = _pollObject as GeocoderSettings; var index = Configuration.Geocoders.IndexOf(geocoder); var cache = Configuration.MapServices.FirstOrDefault(cach => cach.Name == geocoder.CacheName); var layer = e.FeatureData.Layers.FirstOrDefault(lyr => lyr.Name == geocoder.LayerName); Application.Current.Dispatcher.BeginInvoke((Action)(() => { var dlgCache = new EditGeocoderDialog(); dlgCache.ViewModel.LayerInfo = layer; dlgCache.ViewModel.Configuration = geocoder; dlgCache.ShowDialog(); if (dlgCache.DialogResult == true) { Configuration.Geocoders[index] = dlgCache.ViewModel.Configuration; } })); } else { ErrorHelper.OnMessage("Service polled for unknown object"); } } catch (Exception ex) { ErrorHelper.OnError(MethodBase.GetCurrentMethod().DeclaringType.Name, "Error editing cache settings", ex); } }