示例#1
0
        // ----------------------------------------------------------------------------------------------------------------


        public List <AssetSearchResultItem> Search(AddonSearchCriteria pAddonSearchCriteria, AssetSearchCriteria pAssetSearchCriteria)
        {
            List <AddonPackage> subSet = pAddonSearchCriteria == null ? Addons : SelectPackages(pAddonSearchCriteria);

            if (pAssetSearchCriteria == null)
            {
                pAssetSearchCriteria = new AssetSearchCriteria(null, AddonAssetType.Any, null, null, null);
            }

            // if (pAssetSearchCriteria != null)
            return(SearchAsset(subSet, pAssetSearchCriteria));

            /*
             * return (pAddonSearchCriteria == null)
             *  ? null
             *  : BuildAddonSearchResult(subSet);
             */
        }
示例#2
0
        /*
         * private List<AssetSearchResultItem> BuildAddonSearchResult(List<AddonPackage> subSet)
         * {
         *  throw new NotImplementedException();
         * }
         */


        public List <AddonPackage> SelectPackages(AddonSearchCriteria pCriteria)
        {
            if (Addons == null)
            {
                return(null);
            }

            if (pCriteria == null)
            {
                return(Addons);
            }

            List <AddonPackage> found = new List <AddonPackage>();

            foreach (AddonPackage addon in Addons)
            {
                if (pCriteria.IsMatch(addon))
                {
                    found.Add(addon);
                }
            }

            return(found.Count == 0 ? null : found);
        }