/// <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;
        }
示例#3
0
        /// <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();
        }
示例#4
0
        /// <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);
        }