/// <summary> /// Gets the visible layers. /// </summary> /// <param name="map">The map.</param> /// <returns>Returns a <see cref="SearchablePackage"/> representing the package.</returns> private SearchablePackage GetVisibleLayers(IMap map) { SearchablePackage package = new SearchablePackage("<Visible Layers>"); foreach (var layer in map.GetVisibleLayers()) { var item = layer.AsSearchableItem(); package.Items.Add(item); } return(package); }
/// <summary> /// Gets the searchable items based on the map. /// </summary> /// <param name="map">The map.</param> /// <returns> /// Returns a <see cref="IEnumerable{Searchable}" /> representing the searchable items in the map. /// </returns> private IEnumerable <Searchable> GetLayers(IMap map) { var items = new List <Searchable>(); foreach (var node in map.GetHierarchy()) { SearchablePackage package = null; IEnumerable <IHierarchy <ILayer> > children; if (node.Children.Any()) { package = new SearchablePackage(node.Value.Name); items.Add(package); children = node.Children; } else { children = new[] { node }; } foreach (var child in children) { var annotationLayer = child.Value as IAnnotationSublayer; if (annotationLayer != null) { continue; } var featureLayer = child.Value as IFeatureLayer; if (featureLayer == null) { continue; } var item = featureLayer.AsSearchableItem(); if (package != null) { package.Items.Add(item); } else { items.Add(item); } } } return(items); }
/// <summary> /// Gets the searchable package. /// </summary> /// <returns>Returns a <see cref="SearchablePackage" /> representing the package.</returns> private SearchablePackage GetSearchablePackage() { var items = this.GetSearchableItems(); var fields = this.GetCheckedFields(); if (fields.Any()) { foreach (var item in items) { var contains = item.Fields.Where(fields.Contains).ToList(); if (contains.Any()) { item.Fields.Remove(f => !contains.Contains(f)); } } } var package = new SearchablePackage(this.tvwPackages.SelectedNode.Text, items); return(package); }