示例#1
0
        /// <summary>
        /// The get items from search result.
        /// </summary>
        /// <param name="searchResults">
        /// The search results.
        /// </param>
        /// <param name="items">
        /// The items.
        /// </param>
        /// <param name="showAllVersions">
        /// The show all versions.
        /// </param>
        public static void GetItemsFromSearchResult(IEnumerable <SearchResult> searchResults, List <SkinnyItem> items, bool showAllVersions)
        {
            foreach (var result in searchResults)
            {
                var uriField = result.Document.GetField(BuiltinFields.Url);
                if (uriField != null && !string.IsNullOrEmpty(uriField.StringValue()))
                {
                    var itemUri = new ItemUri(uriField.StringValue());
                    itemUri = new ItemUri(itemUri.ItemID, itemUri.Language, Sitecore.Data.Version.Latest, itemUri.DatabaseName);
                    var itemInfo = new SkinnyItem(itemUri);

                    foreach (Field field in result.Document.GetFields())
                    {
                        itemInfo.Fields.Add(field.Name(), field.StringValue());
                    }

                    items.Add(itemInfo);
                }

                if (showAllVersions)
                {
                    GetItemsFromSearchResult(result.Subresults, items, true);
                }
            }
        }
        public static void GetItemsFromSearchResult(IEnumerable<SearchResult> searchResults, List<SkinnyItem> items, bool showAllVersions)
        {
            foreach (var result in searchResults)
            {
                var uriField = result.Document.GetField(BuiltinFields.Url);
                if (uriField != null && !String.IsNullOrEmpty(uriField.StringValue()))
                {
                    var itemUri = new ItemUri(uriField.StringValue());

                    var itemInfo = new SkinnyItem(itemUri);

                    foreach (Field field in result.Document.GetFields())
                    {
                        itemInfo.Fields[field.Name()] = field.StringValue();
                    }

                    items.Add(itemInfo);
                }

                if (showAllVersions)
                    GetItemsFromSearchResult(result.Subresults, items, true);
            }
        }