/// <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; }
/// <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."; }