internal AttributeSelection BuildSelection(IAssetType assetType)
        {
            var attributes = new AttributeSelection();

            attributes.AddRange(Selectors.Select(property => assetType.GetAttributeDefinition(ResolvePropertyName(property))));
            return(attributes);
        }
        internal QueryFind BuildFind(IAssetType assetType)
        {
            if (!string.IsNullOrEmpty(Find.SearchString))
            {
                var attributes = new AttributeSelection();

                if (Find.Fields.Count > 0)
                {
                    attributes.AddRange(Find.Fields.Select(field => assetType.GetAttributeDefinition(ResolvePropertyName(field))));
                }
                else
                {
                    if (assetType.ShortNameAttribute != null)
                    {
                        attributes.Add(assetType.ShortNameAttribute);
                    }

                    if (assetType.NameAttribute != null)
                    {
                        attributes.Add(assetType.NameAttribute);
                    }

                    if (assetType.DescriptionAttribute != null)
                    {
                        attributes.Add(assetType.DescriptionAttribute);
                    }
                }

                return(new QueryFind(Find.SearchString, attributes));
            }

            return(null);
        }
 internal AttributeSelection BuildSelection(IAssetType assetType) {
     var attributes = new AttributeSelection();
     attributes.AddRange(Selectors.Select(property => assetType.GetAttributeDefinition(ResolvePropertyName(property))));
     return attributes;
 }
        internal QueryFind BuildFind(IAssetType assetType) {
            if (!string.IsNullOrEmpty(Find.SearchString)) {
                var attributes = new AttributeSelection();

                if (Find.Fields.Count > 0) {
                    attributes.AddRange(Find.Fields.Select(field => assetType.GetAttributeDefinition(ResolvePropertyName(field))));
                } else {
                    if(assetType.ShortNameAttribute != null) {
                        attributes.Add(assetType.ShortNameAttribute);
                    }

                    if(assetType.NameAttribute != null) {
                        attributes.Add(assetType.NameAttribute);
                    }

                    if(assetType.DescriptionAttribute != null) {
                        attributes.Add(assetType.DescriptionAttribute);
                    }
                }

                return new QueryFind(Find.SearchString, attributes);
            }

            return null;
        }