/// <summary> /// Constructor. /// </summary> /// <param name="source">Source.</param> /// <param name="displayName">Display name.</param> public SearchSource(SearchSourceEnum source, string displayName) { this.Source = source; this.DisplayName = displayName; this.id = System.Guid.NewGuid(); }
/// <summary> /// Gets searchable elements as specified by search source enumeration. /// </summary> /// <param name="store">Store.</param> /// <param name="source">Search source.</param> /// <returns>List of searchable elements.</returns> public virtual List<ModelElement> GetSearchableElements(DomainModelStore store, SearchSourceEnum source) { System.Collections.Generic.List<ModelElement> elements = new System.Collections.Generic.List<ModelElement>(); if( source == SearchSourceEnum.Elements || source == SearchSourceEnum.ElementsAndReferenceRelationships ) { foreach (DomainModelElement modelElement in store.ElementDirectory.FindElements<DomainModelElement>()) { if (IsElementIncludedInDomainTree(store, modelElement.GetDomainClassId())) elements.Add(modelElement); } } if (source == SearchSourceEnum.ReferenceRelationships || source == SearchSourceEnum.ElementsAndReferenceRelationships) { foreach (DomainModelLink modelElement in store.ElementDirectory.FindElements<DomainModelLink>()) { if (modelElement.IsEmbedding) continue; DomainClassInfo info = modelElement.GetDomainClass(); if (IsLinkIncludedInDomainTree(store, info.Id)) elements.Add(modelElement); } } return elements; }
/// <summary> /// Gets searchable elements as specified by search source enumeration. /// </summary> /// <param name="store">Store.</param> /// <param name="source">Search source.</param> /// <returns>List of searchable elements.</returns> public virtual List <ModelElement> GetSearchableElements(DomainModelStore store, SearchSourceEnum source) { System.Collections.Generic.List <ModelElement> elements = new System.Collections.Generic.List <ModelElement>(); if (source == SearchSourceEnum.Elements || source == SearchSourceEnum.ElementsAndReferenceRelationships) { foreach (DomainModelElement modelElement in store.ElementDirectory.FindElements <DomainModelElement>()) { if (IsElementIncludedInDomainTree(store, modelElement.GetDomainClassId())) { elements.Add(modelElement); } } } if (source == SearchSourceEnum.ReferenceRelationships || source == SearchSourceEnum.ElementsAndReferenceRelationships) { foreach (DomainModelLink modelElement in store.ElementDirectory.FindElements <DomainModelLink>()) { if (modelElement.IsEmbedding) { continue; } DomainClassInfo info = modelElement.GetDomainClass(); if (IsLinkIncludedInDomainTree(store, info.Id)) { elements.Add(modelElement); } } } return(elements); }