public SqlDataSourceDataConnectionChooserPanel(SqlDataSourceDesigner sqlDataSourceDesigner, IDataEnvironment dataEnvironment) : base(sqlDataSourceDesigner)
        {
            this._sqlDataSourceDesigner = sqlDataSourceDesigner;
            this._sqlDataSource         = (SqlDataSource)this._sqlDataSourceDesigner.Component;
            this._dataEnvironment       = dataEnvironment;
            this.InitializeComponent();
            this.InitializeUI();
            DesignerDataConnection conn    = new DesignerDataConnection(System.Design.SR.GetString("SqlDataSourceDataConnectionChooserPanel_CustomConnectionName"), this._sqlDataSource.ProviderName, this._sqlDataSource.ConnectionString);
            ExpressionBinding      binding = this._sqlDataSource.Expressions["ConnectionString"];

            if ((binding != null) && string.Equals(binding.ExpressionPrefix, "ConnectionStrings", StringComparison.OrdinalIgnoreCase))
            {
                string expression = binding.Expression;
                string str2       = "." + "ConnectionString".ToLowerInvariant();
                if (expression.ToLowerInvariant().EndsWith(str2, StringComparison.Ordinal))
                {
                    expression = expression.Substring(0, expression.Length - str2.Length);
                }
                ICollection connections = this._dataEnvironment.Connections;
                if (connections != null)
                {
                    foreach (DesignerDataConnection connection2 in connections)
                    {
                        if (connection2.IsConfigured && string.Equals(connection2.Name, expression, StringComparison.OrdinalIgnoreCase))
                        {
                            conn = connection2;
                            break;
                        }
                    }
                }
            }
            this.SetConnectionSettings(conn);
        }
 public SqlDataSourceDataConnectionChooserPanel(SqlDataSourceDesigner sqlDataSourceDesigner, IDataEnvironment dataEnvironment) : base(sqlDataSourceDesigner)
 {
     this._sqlDataSourceDesigner = sqlDataSourceDesigner;
     this._sqlDataSource = (SqlDataSource) this._sqlDataSourceDesigner.Component;
     this._dataEnvironment = dataEnvironment;
     this.InitializeComponent();
     this.InitializeUI();
     DesignerDataConnection conn = new DesignerDataConnection(System.Design.SR.GetString("SqlDataSourceDataConnectionChooserPanel_CustomConnectionName"), this._sqlDataSource.ProviderName, this._sqlDataSource.ConnectionString);
     ExpressionBinding binding = this._sqlDataSource.Expressions["ConnectionString"];
     if ((binding != null) && string.Equals(binding.ExpressionPrefix, "ConnectionStrings", StringComparison.OrdinalIgnoreCase))
     {
         string expression = binding.Expression;
         string str2 = "." + "ConnectionString".ToLowerInvariant();
         if (expression.ToLowerInvariant().EndsWith(str2, StringComparison.Ordinal))
         {
             expression = expression.Substring(0, expression.Length - str2.Length);
         }
         ICollection connections = this._dataEnvironment.Connections;
         if (connections != null)
         {
             foreach (DesignerDataConnection connection2 in connections)
             {
                 if (connection2.IsConfigured && string.Equals(connection2.Name, expression, StringComparison.OrdinalIgnoreCase))
                 {
                     conn = connection2;
                     break;
                 }
             }
         }
     }
     this.SetConnectionSettings(conn);
 }
 public SqlDataSourceSaveConfiguredConnectionPanel(SqlDataSourceDesigner sqlDataSourceDesigner, IDataEnvironment dataEnvironment)
 {
     this._sqlDataSourceDesigner = sqlDataSourceDesigner;
     this._sqlDataSource         = (SqlDataSource)this._sqlDataSourceDesigner.Component;
     this._dataEnvironment       = dataEnvironment;
     this.InitializeComponent();
     this.InitializeUI();
 }
 public SqlDataSourceSaveConfiguredConnectionPanel(SqlDataSourceDesigner sqlDataSourceDesigner, IDataEnvironment dataEnvironment)
 {
     this._sqlDataSourceDesigner = sqlDataSourceDesigner;
     this._sqlDataSource = (SqlDataSource) this._sqlDataSourceDesigner.Component;
     this._dataEnvironment = dataEnvironment;
     this.InitializeComponent();
     this.InitializeUI();
 }
        internal static WizardPanel CreateCommandPanel(SqlDataSourceWizardForm wizard, DesignerDataConnection dataConnection, WizardPanel nextPanel)
        {
            IDataEnvironment service = null;
            IServiceProvider site    = wizard.SqlDataSourceDesigner.Component.Site;

            if (site != null)
            {
                service = (IDataEnvironment)site.GetService(typeof(IDataEnvironment));
            }
            bool flag = false;

            if (service != null)
            {
                try
                {
                    IDesignerDataSchema connectionSchema = service.GetConnectionSchema(dataConnection);
                    if (connectionSchema != null)
                    {
                        flag = connectionSchema.SupportsSchemaClass(DesignerDataSchemaClass.Tables);
                        if (flag)
                        {
                            connectionSchema.GetSchemaItems(DesignerDataSchemaClass.Tables);
                        }
                        else
                        {
                            flag = connectionSchema.SupportsSchemaClass(DesignerDataSchemaClass.Views);
                            connectionSchema.GetSchemaItems(DesignerDataSchemaClass.Views);
                        }
                    }
                }
                catch (Exception exception)
                {
                    UIServiceHelper.ShowError(site, exception, System.Design.SR.GetString("SqlDataSourceConnectionPanel_CouldNotGetConnectionSchema"));
                    return(null);
                }
            }
            if (nextPanel == null)
            {
                if (flag)
                {
                    return(wizard.GetConfigureSelectPanel());
                }
                return(CreateCustomCommandPanel(wizard, dataConnection));
            }
            if (flag)
            {
                if (nextPanel is SqlDataSourceConfigureSelectPanel)
                {
                    return(nextPanel);
                }
                return(wizard.GetConfigureSelectPanel());
            }
            if (nextPanel is SqlDataSourceCustomCommandPanel)
            {
                return(nextPanel);
            }
            return(CreateCustomCommandPanel(wizard, dataConnection));
        }
예제 #6
0
 private void InitializeUI()
 {
     this._okButton.Text              = System.Design.SR.GetString("OK");
     this._cancelButton.Text          = System.Design.SR.GetString("Cancel");
     this._inferParametersButton.Text = System.Design.SR.GetString("SqlDataSourceQueryEditorForm_InferParametersButton");
     this._queryBuilderButton.Text    = System.Design.SR.GetString("SqlDataSourceQueryEditorForm_QueryBuilderButton");
     this.Text                        = System.Design.SR.GetString("SqlDataSourceQueryEditorForm_Caption");
     this._dataEnvironment            = (IDataEnvironment)base.ServiceProvider.GetService(typeof(IDataEnvironment));
     this._queryBuilderButton.Enabled = this._dataEnvironment != null;
 }
        public void SetQueries(DesignerDataConnection dataConnection, SqlDataSourceQuery selectQuery, SqlDataSourceQuery insertQuery, SqlDataSourceQuery updateQuery, SqlDataSourceQuery deleteQuery)
        {
            DesignerDataConnection connection = dataConnection;

            if (!SqlDataSourceDesigner.ConnectionsEqual(this._dataConnection, connection))
            {
                this._dataConnection = connection;
                Cursor    current          = Cursor.Current;
                ArrayList storedProcedures = null;
                try
                {
                    Cursor.Current = Cursors.WaitCursor;
                    IDataEnvironment service = (IDataEnvironment)this._sqlDataSourceDesigner.Component.Site.GetService(typeof(IDataEnvironment));
                    if (service != null)
                    {
                        IDesignerDataSchema connectionSchema = service.GetConnectionSchema(this._dataConnection);
                        if ((connectionSchema != null) && connectionSchema.SupportsSchemaClass(DesignerDataSchemaClass.StoredProcedures))
                        {
                            ICollection schemaItems = connectionSchema.GetSchemaItems(DesignerDataSchemaClass.StoredProcedures);
                            if ((schemaItems != null) && (schemaItems.Count > 0))
                            {
                                storedProcedures = new ArrayList();
                                foreach (DesignerDataStoredProcedure procedure in schemaItems)
                                {
                                    if (!procedure.Name.ToLowerInvariant().StartsWith("AspNet_".ToLowerInvariant(), StringComparison.Ordinal))
                                    {
                                        storedProcedures.Add(procedure);
                                    }
                                }
                            }
                        }
                    }
                }
                catch (Exception exception)
                {
                    UIServiceHelper.ShowError(base.ServiceProvider, exception, System.Design.SR.GetString("SqlDataSourceConnectionPanel_CouldNotGetConnectionSchema"));
                }
                finally
                {
                    Cursor.Current = current;
                }
                this._selectCommandEditor.SetConnection(this._dataConnection);
                this._selectCommandEditor.SetStoredProcedures(storedProcedures);
                this._insertCommandEditor.SetConnection(this._dataConnection);
                this._insertCommandEditor.SetStoredProcedures(storedProcedures);
                this._updateCommandEditor.SetConnection(this._dataConnection);
                this._updateCommandEditor.SetStoredProcedures(storedProcedures);
                this._deleteCommandEditor.SetConnection(this._dataConnection);
                this._deleteCommandEditor.SetStoredProcedures(storedProcedures);
                this._selectCommandEditor.SetQuery(selectQuery);
                this._insertCommandEditor.SetQuery(insertQuery);
                this._updateCommandEditor.SetQuery(updateQuery);
                this._deleteCommandEditor.SetQuery(deleteQuery);
            }
        }
        public void SetCommandData(SqlDataSourceDesigner sqlDataSourceDesigner, QueryBuilderMode editorMode)
        {
            this._sqlDataSourceDesigner      = sqlDataSourceDesigner;
            this._editorMode                 = editorMode;
            this._queryBuilderButton.Enabled = false;
            IServiceProvider site = this._sqlDataSourceDesigner.Component.Site;

            if (site != null)
            {
                this._dataEnvironment = (IDataEnvironment)site.GetService(typeof(IDataEnvironment));
            }
        }
 internal static DbConnection GetDesignTimeConnection(IServiceProvider serviceProvider, DesignerDataConnection connection)
 {
     if (serviceProvider != null)
     {
         IDataEnvironment service = (IDataEnvironment)serviceProvider.GetService(typeof(IDataEnvironment));
         if (service != null)
         {
             if (string.IsNullOrEmpty(connection.ProviderName))
             {
                 connection = new DesignerDataConnection(connection.Name, "System.Data.SqlClient", connection.ConnectionString);
             }
             return(service.GetDesignTimeConnection(connection));
         }
     }
     return(null);
 }
        private bool ConfigureDataSourceChangeCallback(object context)
        {
            IServiceProvider site    = base.Component.Site;
            IDataEnvironment service = (IDataEnvironment)site.GetService(typeof(IDataEnvironment));

            if (service == null)
            {
                return(false);
            }
            IDataSourceViewSchema schema = this.GetView("DefaultView").Schema;
            bool flag = false;

            if (schema == null)
            {
                this._forceSchemaRetrieval = true;
                schema = this.GetView("DefaultView").Schema;
                this._forceSchemaRetrieval = false;
                if (schema != null)
                {
                    flag = true;
                }
            }
            SqlDataSourceWizardForm form = this.CreateConfigureDataSourceWizardForm(site, service);

            if (UIServiceHelper.ShowDialog(site, form) != DialogResult.OK)
            {
                return(false);
            }
            this.OnComponentChanged(this, new ComponentChangedEventArgs(base.Component, null, null, null));
            IDataSourceViewSchema schema2 = null;

            try
            {
                this._forceSchemaRetrieval = true;
                schema2 = this.GetView("DefaultView").Schema;
            }
            finally
            {
                this._forceSchemaRetrieval = false;
            }
            if (!flag && !DataSourceDesigner.ViewSchemasEquivalent(schema, schema2))
            {
                this.OnSchemaRefreshed(EventArgs.Empty);
            }
            this.OnDataSourceChanged(EventArgs.Empty);
            return(true);
        }
 public SqlDataSourceWizardForm(IServiceProvider serviceProvider, System.Web.UI.Design.WebControls.SqlDataSourceDesigner sqlDataSourceDesigner, IDataEnvironment dataEnvironment) : base(serviceProvider)
 {
     base.Glyph                  = new Bitmap(typeof(SqlDataSourceWizardForm), "datasourcewizard.bmp");
     this._dataEnvironment       = dataEnvironment;
     this._sqlDataSource         = (SqlDataSource)sqlDataSourceDesigner.Component;
     this._sqlDataSourceDesigner = sqlDataSourceDesigner;
     this.Text             = System.Design.SR.GetString("ConfigureDataSource_Title", new object[] { this._sqlDataSource.ID });
     this._connectionPanel = this.CreateConnectionPanel();
     base.SetPanels(new WizardPanel[] { this._connectionPanel });
     this._saveConfiguredConnectionPanel = new SqlDataSourceSaveConfiguredConnectionPanel(this._sqlDataSourceDesigner, this._dataEnvironment);
     base.RegisterPanel(this._saveConfiguredConnectionPanel);
     this._configureParametersPanel = new SqlDataSourceConfigureParametersPanel(this._sqlDataSourceDesigner);
     base.RegisterPanel(this._configureParametersPanel);
     this._configureSelectPanel = new SqlDataSourceConfigureSelectPanel(this._sqlDataSourceDesigner);
     base.RegisterPanel(this._configureSelectPanel);
     this._customCommandPanel = new SqlDataSourceCustomCommandPanel(this._sqlDataSourceDesigner);
     base.RegisterPanel(this._customCommandPanel);
     this._summaryPanel = new SqlDataSourceSummaryPanel(this._sqlDataSourceDesigner);
     base.RegisterPanel(this._summaryPanel);
     base.Size       += new Size(0, 40);
     this.MinimumSize = base.Size;
 }
 public SqlDataSourceWizardForm(IServiceProvider serviceProvider, System.Web.UI.Design.WebControls.SqlDataSourceDesigner sqlDataSourceDesigner, IDataEnvironment dataEnvironment) : base(serviceProvider)
 {
     base.Glyph = new Bitmap(typeof(SqlDataSourceWizardForm), "datasourcewizard.bmp");
     this._dataEnvironment = dataEnvironment;
     this._sqlDataSource = (SqlDataSource) sqlDataSourceDesigner.Component;
     this._sqlDataSourceDesigner = sqlDataSourceDesigner;
     this.Text = System.Design.SR.GetString("ConfigureDataSource_Title", new object[] { this._sqlDataSource.ID });
     this._connectionPanel = this.CreateConnectionPanel();
     base.SetPanels(new WizardPanel[] { this._connectionPanel });
     this._saveConfiguredConnectionPanel = new SqlDataSourceSaveConfiguredConnectionPanel(this._sqlDataSourceDesigner, this._dataEnvironment);
     base.RegisterPanel(this._saveConfiguredConnectionPanel);
     this._configureParametersPanel = new SqlDataSourceConfigureParametersPanel(this._sqlDataSourceDesigner);
     base.RegisterPanel(this._configureParametersPanel);
     this._configureSelectPanel = new SqlDataSourceConfigureSelectPanel(this._sqlDataSourceDesigner);
     base.RegisterPanel(this._configureSelectPanel);
     this._customCommandPanel = new SqlDataSourceCustomCommandPanel(this._sqlDataSourceDesigner);
     base.RegisterPanel(this._customCommandPanel);
     this._summaryPanel = new SqlDataSourceSummaryPanel(this._sqlDataSourceDesigner);
     base.RegisterPanel(this._summaryPanel);
     base.Size += new Size(0, 40);
     this.MinimumSize = base.Size;
 }
 private void InitializeUI()
 {
     this._okButton.Text = System.Design.SR.GetString("OK");
     this._cancelButton.Text = System.Design.SR.GetString("Cancel");
     this._inferParametersButton.Text = System.Design.SR.GetString("SqlDataSourceQueryEditorForm_InferParametersButton");
     this._queryBuilderButton.Text = System.Design.SR.GetString("SqlDataSourceQueryEditorForm_QueryBuilderButton");
     this.Text = System.Design.SR.GetString("SqlDataSourceQueryEditorForm_Caption");
     this._dataEnvironment = (IDataEnvironment) base.ServiceProvider.GetService(typeof(IDataEnvironment));
     this._queryBuilderButton.Enabled = this._dataEnvironment != null;
 }
 public AccessDataSourceWizardForm(IServiceProvider serviceProvider, AccessDataSourceDesigner accessDataSourceDesigner, IDataEnvironment dataEnvironment) : base(serviceProvider, accessDataSourceDesigner, dataEnvironment)
 {
     base.Glyph = new Bitmap(typeof(AccessDataSourceWizardForm), "datasourcewizard.bmp");
 }
 internal override SqlDataSourceWizardForm CreateConfigureDataSourceWizardForm(IServiceProvider serviceProvider, IDataEnvironment dataEnvironment)
 {
     return new AccessDataSourceWizardForm(serviceProvider, this, dataEnvironment);
 }
 internal virtual SqlDataSourceWizardForm CreateConfigureDataSourceWizardForm(IServiceProvider serviceProvider, IDataEnvironment dataEnvironment)
 {
     return(new SqlDataSourceWizardForm(serviceProvider, this, dataEnvironment));
 }
 internal virtual SqlDataSourceWizardForm CreateConfigureDataSourceWizardForm(IServiceProvider serviceProvider, IDataEnvironment dataEnvironment)
 {
     return new SqlDataSourceWizardForm(serviceProvider, this, dataEnvironment);
 }
        public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value)
        {
            System.Web.UI.Control instance = context.Instance as System.Web.UI.Control;
            if (provider != null)
            {
                IDataEnvironment environment = (IDataEnvironment)provider.GetService(typeof(IDataEnvironment));
                if (environment != null)
                {
                    IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService));
                    if ((edSvc != null) && (context.Instance != null))
                    {
                        if (this._connectionStringPicker == null)
                        {
                            this._connectionStringPicker = new ConnectionStringPicker();
                        }
                        string           connectionString = (string)value;
                        ExpressionEditor expressionEditor = ExpressionEditor.GetExpressionEditor(typeof(ConnectionStringsExpressionBuilder), provider);
                        if (expressionEditor == null)
                        {
                            return(value);
                        }
                        string expressionPrefix = expressionEditor.ExpressionPrefix;
                        DesignerDataConnection currentConnection = GetCurrentConnection(instance, context.PropertyDescriptor.Name, connectionString, expressionPrefix);
                        this._connectionStringPicker.Start(edSvc, environment.Connections, currentConnection);
                        edSvc.DropDownControl(this._connectionStringPicker);
                        if (this._connectionStringPicker.SelectedItem != null)
                        {
                            DesignerDataConnection selectedConnection = this._connectionStringPicker.SelectedConnection;
                            if (selectedConnection == null)
                            {
                                selectedConnection = environment.BuildConnection(UIServiceHelper.GetDialogOwnerWindow(provider), null);
                            }
                            if (selectedConnection != null)
                            {
                                if (selectedConnection.IsConfigured)
                                {
                                    ((IExpressionsAccessor)instance).Expressions.Add(new ExpressionBinding(context.PropertyDescriptor.Name, context.PropertyDescriptor.PropertyType, expressionPrefix, selectedConnection.Name));
                                    this.SetProviderName(context.Instance, selectedConnection);
                                    IComponentChangeService service = (IComponentChangeService)provider.GetService(typeof(IComponentChangeService));
                                    if (service != null)
                                    {
                                        service.OnComponentChanged(instance, null, null, null);
                                    }
                                }
                                else
                                {
                                    value = selectedConnection.ConnectionString;
                                    this.SetProviderName(context.Instance, selectedConnection);
                                }
                            }
                        }
                        this._connectionStringPicker.End();
                    }
                    return(value);
                }
            }
            string providerName = this.GetProviderName(context.Instance);
            ConnectionStringEditorDialog form = new ConnectionStringEditorDialog(provider, providerName)
            {
                ConnectionString = (string)value
            };

            if (UIServiceHelper.ShowDialog(provider, form) == DialogResult.OK)
            {
                value = form.ConnectionString;
            }
            return(value);
        }
 public AccessDataSourceWizardForm(IServiceProvider serviceProvider, AccessDataSourceDesigner accessDataSourceDesigner, IDataEnvironment dataEnvironment)
     : base(serviceProvider, accessDataSourceDesigner, dataEnvironment)
 {
     base.Glyph = System.Drawing.BitmapSelector.CreateBitmap(typeof(AccessDataSourceWizardForm), "datasourcewizard.bmp");
 }
 public void SetCommandData(SqlDataSourceDesigner sqlDataSourceDesigner, QueryBuilderMode editorMode)
 {
     this._sqlDataSourceDesigner = sqlDataSourceDesigner;
     this._editorMode = editorMode;
     this._queryBuilderButton.Enabled = false;
     IServiceProvider site = this._sqlDataSourceDesigner.Component.Site;
     if (site != null)
     {
         this._dataEnvironment = (IDataEnvironment) site.GetService(typeof(IDataEnvironment));
     }
 }
 public AccessDataSourceWizardForm(IServiceProvider serviceProvider, AccessDataSourceDesigner accessDataSourceDesigner, IDataEnvironment dataEnvironment) : base(serviceProvider, accessDataSourceDesigner, dataEnvironment)
 {
     base.Glyph = new Bitmap(typeof(AccessDataSourceWizardForm), "datasourcewizard.bmp");
 }
 internal override SqlDataSourceWizardForm CreateConfigureDataSourceWizardForm(IServiceProvider serviceProvider, IDataEnvironment dataEnvironment)
 {
     return(new AccessDataSourceWizardForm(serviceProvider, this, dataEnvironment));
 }