public void SetMethod(MethodInfo selectMethodInfo) { this._signatureTextBox.Text = ObjectDataSourceMethodEditor.GetMethodSignature(selectMethodInfo); Parameter[] parameters = ObjectDataSourceDesigner.MergeParameters(this._parameterEditorUserControl.GetParameters(), selectMethodInfo); this._parameterEditorUserControl.ClearParameters(); this._parameterEditorUserControl.AddParameters(parameters); }
protected internal override void OnComplete() { PropertyDescriptor descriptor; MethodInfo deleteMethodInfo = this.DeleteMethodInfo; string str = (deleteMethodInfo == null) ? string.Empty : deleteMethodInfo.Name; if (this._objectDataSource.DeleteMethod != str) { descriptor = TypeDescriptor.GetProperties(this._objectDataSource)["DeleteMethod"]; descriptor.ResetValue(this._objectDataSource); descriptor.SetValue(this._objectDataSource, str); } deleteMethodInfo = this.InsertMethodInfo; str = (deleteMethodInfo == null) ? string.Empty : deleteMethodInfo.Name; if (this._objectDataSource.InsertMethod != str) { descriptor = TypeDescriptor.GetProperties(this._objectDataSource)["InsertMethod"]; descriptor.ResetValue(this._objectDataSource); descriptor.SetValue(this._objectDataSource, str); } deleteMethodInfo = this.SelectMethodInfo; str = (deleteMethodInfo == null) ? string.Empty : deleteMethodInfo.Name; if (this._objectDataSource.SelectMethod != str) { descriptor = TypeDescriptor.GetProperties(this._objectDataSource)["SelectMethod"]; descriptor.ResetValue(this._objectDataSource); descriptor.SetValue(this._objectDataSource, str); } deleteMethodInfo = this.UpdateMethodInfo; str = (deleteMethodInfo == null) ? string.Empty : deleteMethodInfo.Name; if (this._objectDataSource.UpdateMethod != str) { descriptor = TypeDescriptor.GetProperties(this._objectDataSource)["UpdateMethod"]; descriptor.ResetValue(this._objectDataSource); descriptor.SetValue(this._objectDataSource, str); } this._objectDataSource.SelectParameters.Clear(); deleteMethodInfo = this.SelectMethodInfo; try { IDataSourceSchema schema = new TypeSchema(deleteMethodInfo.ReturnType); if (schema != null) { IDataSourceViewSchema[] views = schema.GetViews(); if ((views != null) && (views.Length > 0)) { views[0].GetFields(); } } } catch (Exception) { } ObjectDataSourceDesigner.MergeParameters(this._objectDataSource.DeleteParameters, this.DeleteMethodInfo, this.DeleteMethodDataObjectType); ObjectDataSourceDesigner.MergeParameters(this._objectDataSource.InsertParameters, this.InsertMethodInfo, this.InsertMethodDataObjectType); ObjectDataSourceDesigner.MergeParameters(this._objectDataSource.UpdateParameters, this.UpdateMethodInfo, this.UpdateMethodDataObjectType); string fullName = string.Empty; if (this.DeleteMethodDataObjectType != null) { fullName = this.DeleteMethodDataObjectType.FullName; } else if (this.InsertMethodDataObjectType != null) { fullName = this.InsertMethodDataObjectType.FullName; } else if (this.UpdateMethodDataObjectType != null) { fullName = this.UpdateMethodDataObjectType.FullName; } if (this._objectDataSource.DataObjectTypeName != fullName) { descriptor = TypeDescriptor.GetProperties(this._objectDataSource)["DataObjectTypeName"]; descriptor.ResetValue(this._objectDataSource); descriptor.SetValue(this._objectDataSource, fullName); } if (deleteMethodInfo != null) { this._objectDataSourceDesigner.RefreshSchema(deleteMethodInfo.ReflectedType, deleteMethodInfo.Name, deleteMethodInfo.ReturnType, true); } }