private void SearchPlaceMatches(IEnumerable <GeocodeMatch> resultMatches, Collection <string> errorMessages) { IsBusy = false; lock (SearchResults) { foreach (var match in resultMatches.Take(SearchPlaceMaxResultCount)) { SearchedResultViewModel searchedPlace = new SearchedResultViewModel(); searchedPlace.City = loadingText; searchedPlace.Load(match); if (!searchedPlace.IsEmpty) { SearchResults.Add(searchedPlace); } } } if (SearchResults.Count == 0 && errorMessages.Count == 0 && (currentDataTable == null || currentDataTable.Rows.Count == 0)) { System.Windows.Forms.MessageBox.Show(GisEditor.LanguageManager.GetStringResource("SearchPlaceVieModelNoResultsText")); } else if (errorMessages.Count > 0) { string errorMessage = string.Join("\r\n", errorMessages); string errorTitle = GisEditor.LanguageManager.GetStringResource("MessageBoxWarningTitle"); Application.Current.Dispatcher.BeginInvoke(() => System.Windows.Forms.MessageBox.Show(errorMessage, errorTitle)); } }
private void ListViewItem_MouseDoubleClick(object sender, MouseButtonEventArgs e) { var item = e.Source as ListViewItem; if (item != null) { SearchedResultViewModel tmpModel = item.Content as SearchedResultViewModel; if (tmpModel != null) { OnPlotted(new PlotOnMapEventArgs(tmpModel)); } } }
private static void FillMatchesInGeocoder(PointShape pointShape, SearchedResultViewModel searchedResultViewModel) { try { Collection <GeocodeMatch> matches = SearchPlaceHelper.GetGeocodeMatches(pointShape.X, pointShape.Y); Application.Current.Dispatcher.BeginInvoke(obj => { Collection <GeocodeMatch> tempMatches = (Collection <GeocodeMatch>)obj; if (searchedResultViewModel.City.Equals(loadingText)) { searchedResultViewModel.City = string.Empty; } foreach (var match in tempMatches) { if (match.MatchResults.ContainsKey("City")) { searchedResultViewModel.City = match.MatchResults["City"]; } else if (searchedResultViewModel.City.Equals(loadingText)) { searchedResultViewModel.City = ""; } if (match.MatchResults.ContainsKey("State")) { searchedResultViewModel.State = match.MatchResults["State"]; } if (match.MatchResults.ContainsKey("County")) { searchedResultViewModel.County = match.MatchResults["County"]; } if (match.MatchResults.ContainsKey("Zip")) { searchedResultViewModel.Zipcode = match.MatchResults["Zip"]; } } }, matches); } catch (Exception ex) { if (searchedResultViewModel.City.Equals(loadingText)) { searchedResultViewModel.City = ""; } GisEditor.LoggerManager.Log(LoggerLevel.Debug, ex.Message, new ExceptionInfo(ex)); } }
private void DataGridRow_MouseDoubleClick(object sender, MouseButtonEventArgs e) { var item = e.Source as DataGridRow; if (item != null) { DataRowView rowView = (DataRowView)item.Item; DataRow row = rowView.Row; if (!string.IsNullOrEmpty(row.RowError)) { RectangleShape boundingBox = new RectangleShape(row.RowError); SearchedResultViewModel searchedPlace = new SearchedResultViewModel(); searchedPlace.BoundingBox = boundingBox; searchedPlace.Address = string.Join(",", row.ItemArray.Take(row.ItemArray.Length - 1)); OnPlotted(new PlotOnMapEventArgs(searchedPlace)); } } }
private void CommandBinding_Executed(object sender, ExecutedRoutedEventArgs e) { SearchedResultViewModel tmpModel = (SearchedResultViewModel)e.Parameter; OnPlotted(new PlotOnMapEventArgs(tmpModel)); }
public PlotOnMapEventArgs(SearchedResultViewModel result) { Result = result; }