コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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));
                }
            }
        }
コード例 #3
0
 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));
     }
 }
コード例 #4
0
        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));
                }
            }
        }
コード例 #5
0
        private void CommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            SearchedResultViewModel tmpModel = (SearchedResultViewModel)e.Parameter;

            OnPlotted(new PlotOnMapEventArgs(tmpModel));
        }
コード例 #6
0
 public PlotOnMapEventArgs(SearchedResultViewModel result)
 {
     Result = result;
 }