Exemple #1
0
        /// <summary>
        /// Field search event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonSubmitSearch_Click(object sender, EventArgs e)
        {
            //List<string> category = null;
            FieldSearchOptions include = null;
            FieldSearchOptions exclude = null;

            if (comboBoxSearchType.SelectedIndex == 0)
            {
                // field search
                if (comboBoxIncludeProductType.SelectedIndex > 0 ||
                    comboBoxIncludeFieldType.SelectedIndex > 0)
                {
                    // field search, add include filters
                    include             = new FieldSearchOptions();
                    include.ProductType = comboBoxIncludeProductType.Text;
                    include.FieldType   = comboBoxIncludeFieldType.Text;
                }
            }

            if (comboBoxExcludeProductType.SelectedIndex > 0 ||
                comboBoxExcludeFieldType.SelectedIndex > 0)
            {
                // add exclude filters
                exclude             = new FieldSearchOptions();
                exclude.ProductType = comboBoxExcludeProductType.Text;
                exclude.FieldType   = comboBoxExcludeFieldType.Text;
            }
            // build field search request
            fieldSearch(textBoxSearchSpec.Text.Trim(), comboBoxSearchType.SelectedIndex, include, exclude);
            // clear data tables
            fieldTable.Rows.Clear();
            overrideTable.Rows.Clear();
            propertyTable.Rows.Clear();
            d_data.AcceptChanges();
            richTextBoxDocumentation.Text = string.Empty;
        }
Exemple #2
0
        /// <summary>
        /// Build and submit field search request
        /// </summary>
        /// <param name="searchSpec"></param>
        /// <param name="searchType"></param>
        /// <param name="includeOptions"></param>
        /// <param name="excludeOptions"></param>
        private void fieldSearch(string searchSpec, int searchType, FieldSearchOptions includeOptions,
                                 FieldSearchOptions excludeOptions)
        {
            Request       request = null;
            CorrelationID cId;

            // get auth service
            if (d_service == null)
            {
                if (d_session.OpenService(@"//blp/apiflds"))
                {
                    d_service = d_session.GetService(@"//blp/apiflds");
                }
            }

            // clear dataset
            clearData();

            if (searchType == 0)
            {
                // set field search correlationID to 1000
                cId     = new CorrelationID(1000);
                request = d_service.CreateRequest("FieldSearchRequest");

                if (includeOptions != null)
                {
                    // include options
                    Element include = request.GetElement("include");
                    if (includeOptions.ProductType != "None")
                    {
                        include.SetElement("productType", includeOptions.ProductType);
                    }
                    if (includeOptions.FieldType != "None")
                    {
                        include.SetElement("fieldType", includeOptions.FieldType);
                    }
                }
            }
            else
            {
                // set category field search correlationID to 2000
                cId     = new CorrelationID(2000);
                request = d_service.CreateRequest("CategorizedFieldSearchRequest");
            }
            // set search string
            request.Set("searchSpec", searchSpec);
            // return field documentation
            request.Set("returnFieldDocumentation", true);

            if (excludeOptions != null)
            {
                // exclude options
                Element exclude = request.GetElement("exclude");
                if (excludeOptions.ProductType != "None")
                {
                    exclude.SetElement("productType", excludeOptions.ProductType);
                }
                if (excludeOptions.FieldType != "None")
                {
                    exclude.SetElement("fieldType", excludeOptions.FieldType);
                }
            }

            // cancel previous pending request
            d_session.Cancel(cId);
            d_session.SendRequest(request, cId);
            toolStripStatusLabel1.Text = "Request sent.";
        }