public void AddGeocoder() { try { var dlgLayer = new SelectCacheLayerDialog(); dlgLayer.Owner = View; dlgLayer.ViewModel.Caches = Configuration.MapServices.Where(srvc => !srvc.IsBaseMap); dlgLayer.ShowDialog(); if (dlgLayer.DialogResult == true) { var cache = dlgLayer.ViewModel.Caches.FirstOrDefault(cach => cach.URL == dlgLayer.ViewModel.ServiceUrl); var layer = dlgLayer.ViewModel.Layer; var dlgCache = new EditGeocoderDialog(); dlgCache.Owner = View; dlgCache.ViewModel.LayerInfo = layer; dlgCache.ViewModel.Configuration.CacheName = cache.Name; dlgCache.ViewModel.Configuration.LayerName = layer.Name; dlgCache.ViewModel.Configuration.LayerID = layer.ID; dlgCache.ShowDialog(); if (dlgCache.DialogResult == true) { Configuration.Geocoders.Add(dlgCache.ViewModel.Configuration); } } } catch (Exception ex) { ErrorHelper.OnError(MethodBase.GetCurrentMethod().DeclaringType.Name, "Error adding cache settings", ex); } }
public void AddStreetIntersectionFinder() { try { var dlgLayer = new SelectCacheLayerDialog(); dlgLayer.Owner = View; dlgLayer.ViewModel.Caches = Configuration.MapServices.Where(srvc => !srvc.IsBaseMap); dlgLayer.ShowDialog(); if (dlgLayer.DialogResult == true) { var cache = dlgLayer.ViewModel.Caches.FirstOrDefault(cach => cach.URL == dlgLayer.ViewModel.ServiceUrl); var layer = dlgLayer.ViewModel.Layer; var dlgField = new SelectFieldDialog(); dlgField.Owner = View; dlgField.ViewModel.Layer = layer; dlgField.ShowDialog(); if (dlgField.DialogResult == true) { Configuration.StreetList.Add(new StreetFinderSettings { CacheName = cache.Name, LayerName = layer.Name, LayerID = layer.ID, StreetNameField = dlgField.ViewModel.Field.Name }); } } } catch (Exception ex) { ErrorHelper.OnError(MethodBase.GetCurrentMethod().DeclaringType.Name, "Error adding cache settings", ex); } }