/// <remarks/>
 public void FindItemsAsync(string Folder, BooleanOperatorEnum BooleanOperator, SearchCondition[] Conditions, object userState)
 {
     if ((this.FindItemsOperationCompleted == null)) {
         this.FindItemsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnFindItemsOperationCompleted);
     }
     this.InvokeAsync("FindItems", new object[] {
                 Folder,
                 BooleanOperator,
                 Conditions}, this.FindItemsOperationCompleted, userState);
 }
 public CatalogItem[] FindItems(string Folder, BooleanOperatorEnum BooleanOperator, SearchCondition[] Conditions)
 {
     object[] results = this.Invoke("FindItems", new object[] {
                 Folder,
                 BooleanOperator,
                 Conditions});
     return ((CatalogItem[])(results[0]));
 }
 /// <remarks/>
 public void FindItemsAsync(string Folder, BooleanOperatorEnum BooleanOperator, SearchCondition[] Conditions)
 {
     this.FindItemsAsync(Folder, BooleanOperator, Conditions, null);
 }
 /// <remarks/>
 public System.IAsyncResult BeginFindItems(string Folder, BooleanOperatorEnum BooleanOperator, SearchCondition[] Conditions, System.AsyncCallback callback, object asyncState)
 {
     return this.BeginInvoke("FindItems", new object[] {
                 Folder,
                 BooleanOperator,
                 Conditions}, callback, asyncState);
 }
        /// <summary>
        /// Create single condition sample based on "?" in queryText.
        /// Supports Folder to Search and Name Contains Or Description contains
        /// </summary>
        private SearchCondition[] SearchConditions()
        {
            SearchCondition searchCondition = null;
            Hashtable searchValues = new Hashtable();

            foreach (DictionaryEntry item in queryValues)
            {
                string key = item.Key.ToString();

                if (key.StartsWith("SearchCondition."))
                {
                    searchValues.Add(key, item.Value.ToString());
                }

            }

            SearchCondition[] conditions = new SearchCondition[searchValues.Count];
            int i = -1;
            foreach (DictionaryEntry searchItem in searchValues)
            {
                i++;
                string delimStr = ".";
                char[] delimiter = delimStr.ToCharArray();
                string searchName = searchItem.Key.ToString().Split(delimiter)[1];

                searchCondition = CreateSearchCondition(searchName, searchItem.Value.ToString());
                conditions[i] = searchCondition;
            }

            return conditions;
        }
        private SearchCondition CreateSearchCondition(string name, string value)
        {
            SearchCondition searchCondition = new SearchCondition();
            searchCondition.Condition = ConditionEnum.Contains;
            searchCondition.ConditionSpecified = true;
            searchCondition.Name = name;
            searchCondition.Value = value;

            return searchCondition;
        }
 public CatalogItem[] AdvancedSearch(string folder, BooleanOperatorEnum booleanOperator,
     SearchCondition[] searchConditions)
 {
     return this.RSWebService.FindItems(folder, booleanOperator, searchConditions);
 }
        public CatalogItem[] FindItems(string queryText)
        {
            //Create conditions
            SearchCondition condition = new SearchCondition();
            condition.Condition = ConditionEnum.Contains;
            condition.ConditionSpecified = true;
            condition.Name = "Name";
            condition.Value = queryText;
            SearchCondition[] conditions = new SearchCondition[1];
            conditions[0] = condition;

            return this.RSWebService.FindItems( "/", BooleanOperatorEnum.Or, conditions );;
        }