public frmEditProperties(TaskHost taskHost, Connections connections) { InitializeComponent(); grdParameters.DataError += grdParameters_DataError; _taskHost = taskHost; try { Cursor = Cursors.WaitCursor; cmbServices.Items.Clear(); cmbMethods.Items.Clear(); grdParameters.Rows.Clear(); //Get URL's Service cmbURL.Items.AddRange(LoadVariables("System.String").ToArray()); if (_taskHost.Properties[NamedStringMembers.SERVICE_URL].GetValue(_taskHost) != null) { if (!string.IsNullOrEmpty(_taskHost.Properties[NamedStringMembers.SERVICE_URL].GetValue(_taskHost).ToString())) { cmbURL.SelectedIndexChanged -= cmbURL_SelectedIndexChanged; cmbServices.SelectedIndexChanged -= cmbServices_SelectedIndexChanged; cmbMethods.SelectedIndexChanged -= cmbMethods_SelectedIndexChanged; _wsdlHandler = new WSDLHandler(new Uri(EvaluateExpression(_taskHost.Properties[NamedStringMembers.SERVICE_URL].GetValue(_taskHost).ToString(), _taskHost.VariableDispenser).ToString())); cmbURL.Text = _taskHost.Properties[NamedStringMembers.SERVICE_URL].GetValue(_taskHost).ToString(); //Get Services cmbServices.Items.AddRange(_wsdlHandler.AvailableServices.ToArray()); cmbServices.SelectedIndex = FindStringInComboBox(cmbServices, _taskHost.Properties[NamedStringMembers.SERVICE].GetValue(_taskHost).ToString(), -1); //Get Methods by service cmbMethods.Items.AddRange(_wsdlHandler.GetServiceMethods(_taskHost.Properties[NamedStringMembers.SERVICE].GetValue(_taskHost).ToString()).ToArray()); cmbMethods.SelectedIndex = FindStringInComboBox(cmbMethods, _taskHost.Properties[NamedStringMembers.WEBMETHOD].GetValue(_taskHost).ToString(), -1); var webServiceMethod = from m in _wsdlHandler.WebServiceMethods where m.Name == _taskHost.Properties[NamedStringMembers.WEBMETHOD].GetValue(_taskHost).ToString() select new WebServiceMethod { Name = m.Name, ResultType = m.ResultType }; //Get returned variables if (_taskHost.Properties[NamedStringMembers.RETURNED_VALUE] != null) { if (!string.IsNullOrEmpty(_taskHost.Properties[NamedStringMembers.RETURNED_VALUE].GetValue(_taskHost).ToString())) { cmbReturnVariable.Items.AddRange(LoadVariables((webServiceMethod.FirstOrDefault()).ResultType).ToArray()); cmbReturnVariable.SelectedIndex = FindStringInComboBox(cmbReturnVariable, _taskHost.Properties[NamedStringMembers.RETURNED_VALUE].GetValue(_taskHost).ToString(), -1); } } FillGridWithParams(_taskHost.Properties[NamedStringMembers.MAPPING_PARAMS].GetValue(_taskHost) as MappingParams); cmbURL.SelectedIndexChanged += cmbURL_SelectedIndexChanged; cmbServices.SelectedIndexChanged += cmbServices_SelectedIndexChanged; cmbMethods.SelectedIndexChanged += cmbMethods_SelectedIndexChanged; } } } catch (Exception exception) { MessageBox.Show(exception.Message); } finally { Cursor = Cursors.Arrow; } }
private void cmbServices_SelectedIndexChanged(object sender, EventArgs e) { cmbMethods.Items.Clear(); grdParameters.Rows.Clear(); cmbMethods.Items.AddRange(_wsdlHandler.GetServiceMethods(cmbServices.Text).ToArray()); }