Esempio n. 1
0
        /// <summary>
        /// Create Search GAL request.
        /// </summary>
        /// <param name="maxPictures">The maxPictures value.</param>
        /// <param name="maxSize">The maxSize value.</param>
        /// <param name="requestRange">The range value.</param>
        /// <param name="keyWord">The search key word.</param>
        /// <returns>The GAL search request.</returns>
        private SearchRequest CreateSearchGALRequest(uint maxPictures, uint maxSize, string requestRange, string keyWord)
        {
            // Create search request with range, maxSize, maxPictures options.
            Request.Options1 searchOption = new Request.Options1
            {
                ItemsElementName = new Request.ItemsChoiceType6[] { Request.ItemsChoiceType6.Range, Request.ItemsChoiceType6.Picture }
            };

            if (maxPictures > 0 && maxSize > 0)
            {
                Request.OptionsPicture picture = new Request.OptionsPicture
                {
                    MaxPictures = maxPictures,
                    MaxPicturesSpecified = true,
                    MaxSize = maxSize,
                    MaxSizeSpecified = true
                };
                searchOption.Items = new object[] { requestRange, picture };
            }
            else
            {
                searchOption.Items = new object[] { requestRange };
            }

            Request.queryType searchQuery = new Request.queryType { Text = new string[] { keyWord } };

            // Set Name element, option element, query element in default search request.
            SearchRequest searchRequest = this.CreateDefaultSearchRequest();
            searchRequest.RequestData.Items[0].Name = SearchName.GAL.ToString();
            searchRequest.RequestData.Items[0].Options = searchOption;
            searchRequest.RequestData.Items[0].Query = searchQuery;

            return searchRequest;
        }