Esempio n. 1
0
        private void wizard1_BeforeSwitchPages(object sender, nHydrate.Wizard.Wizard.BeforeSwitchPagesEventArgs e)
        {
            var oldPage = wizard1.WizardPages[e.OldIndex];
            var newPage = wizard1.WizardPages[e.NewIndex];

            var importDomain   = new nHydrate.DataImport.SqlClient.ImportDomain();
            var databaseHelper = importDomain.DatabaseDomain;

            if ((oldPage == pageImport) && (e.NewIndex > e.OldIndex))
            {
                //Test Connection
                var connectString = DatabaseConnectionControl1.ImportOptions.GetConnectionString();

                var valid = databaseHelper.TestConnectionString(connectString);
                if (!valid)
                {
                    MessageBox.Show("The information does not describe a valid connection string.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    e.Cancel = true;
                    return;
                }

                //Load the dropdown
                var auditFields = new List <string>();
                var list        = importDomain.GetEntityList(connectString);
                cboTable.DataSource   = list;
                cboTable.SelectedItem = list.FirstOrDefault(x => x.ToLower() == _entity.Name.ToLower());
            }
            else if ((oldPage == pageChooseTable) && (e.NewIndex > e.OldIndex))
            {
                //Verify that the table schema matches
                var connectionString = DatabaseConnectionControl1.ImportOptions.GetConnectionString();

                var auditFields = new List <SpecialField>();
                auditFields.Add(new SpecialField {
                    Name = _entity.nHydrateModel.CreatedByColumnName, Type = SpecialFieldTypeConstants.CreatedBy
                });
                auditFields.Add(new SpecialField {
                    Name = _entity.nHydrateModel.CreatedDateColumnName, Type = SpecialFieldTypeConstants.CreatedDate
                });
                auditFields.Add(new SpecialField {
                    Name = _entity.nHydrateModel.ModifiedByColumnName, Type = SpecialFieldTypeConstants.ModifiedBy
                });
                auditFields.Add(new SpecialField {
                    Name = _entity.nHydrateModel.ModifiedDateColumnName, Type = SpecialFieldTypeConstants.ModifedDate
                });
                auditFields.Add(new SpecialField {
                    Name = _entity.nHydrateModel.TimestampColumnName, Type = SpecialFieldTypeConstants.Timestamp
                });
                auditFields.Add(new SpecialField {
                    Name = _entity.nHydrateModel.TenantColumnName, Type = SpecialFieldTypeConstants.Tenant
                });
                var dsValues = databaseHelper.GetStaticData(connectionString, importDomain.GetEntity(connectionString, (string)cboTable.SelectedValue, auditFields));
                this.LoadData(dsValues);
            }
        }
Esempio n. 2
0
        private int LoadSqlServer(string connectionString, List <SpecialField> auditFields)
        {
            var importDomain = new nHydrate.DataImport.SqlClient.ImportDomain();

            this.NewDatabase = importDomain.Import(connectionString, auditFields);
            this.NewDatabase.CleanUp();
            this.NewDatabase.SetupIdMap(this.CurrentDatabase);
            //nHydrate.DataImport.ImportDomain.ReMapIDs(this.CurrentDatabase, this.NewDatabase);

            //Load the tree
            this.Populate();

            return(0);
        }
Esempio n. 3
0
        private int LoadSqlServer(string connectionString, List <SpecialField> auditFields)
        {
            var importDomain = new nHydrate.DataImport.SqlClient.ImportDomain();

            this.NewDatabase = importDomain.Import(connectionString, auditFields);
            this.NewDatabase.CleanUp();
            this.NewDatabase.SetupIdMap(this.CurrentDatabase);
            //nHydrate.DataImport.ImportDomain.ReMapIDs(this.CurrentDatabase, this.NewDatabase);

            //Remove tenant views
            NewDatabase.ViewList.Remove(x => x.Name.ToLower().StartsWith(_model.TenantPrefix.ToLower() + "_"));

            //Load the tree
            this.Populate();

            return(0);
        }
Esempio n. 4
0
        private void cmdTestConnection_Click(object sender, EventArgs e)
        {
            try
            {
                //SQL
                if (optDatabaseTypeSQL.Checked)
                {
                    DatabaseConnectionControl1.RefreshOptions();
                    var connectString  = DatabaseConnectionControl1.ImportOptions.GetConnectionString();
                    var importDomain   = new nHydrate.DataImport.SqlClient.ImportDomain();
                    var databaseHelper = importDomain.DatabaseDomain;

                    var valid = databaseHelper.TestConnectionString(connectString);
                    if (valid)
                    {
                        MessageBox.Show("Connection Succeeded.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("The information does not describe a valid connection string.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else if (optDatabaseTypePostgres.Checked) //Postgres
                {
                    if (DslPackage.Objects.Postgres.ImportDomain.TestConnection(txtConnectionStringPostgres.Text))
                    {
                        MessageBox.Show("Connection Succeeded.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("The information does not describe a valid connection string.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("Unknown database type.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("An error has occurred.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 5
0
        //private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        //{
        //  var d = e.Node.Tag as DataTreeItem;
        //  if (d == null) txtChanged.Text = "";
        //  else txtChanged.Text = d.GetChangeText();
        //}

        private void wizard1_BeforeSwitchPages(object sender, nHydrate.Wizard.Wizard.BeforeSwitchPagesEventArgs e)
        {
            if (wizard1.WizardPages[e.OldIndex] == pageConnection)
            {
                this.Cursor = Cursors.WaitCursor;
                try
                {
                    DatabaseConnectionControl1.PersistSettings();
                    var connectionString = DatabaseConnectionControl1.ImportOptions.GetConnectionString();
                    var schemaModelHelper = new nHydrate.DataImport.SqlClient.SchemaModelHelper();

                    if (!schemaModelHelper.IsValidConnectionString(connectionString))
                    {
                        this.Cursor = Cursors.Default;
                        e.Cancel = true;
                        MessageBox.Show("This not a valid connection string!", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }

                    //Setup new model
                    var project = new nHydrate.DataImport.Database();
                    var auditFields = new List<SpecialField>();
                    auditFields.Add(new SpecialField { Name = _model.CreatedByColumnName, Type = SpecialFieldTypeConstants.CreatedBy });
                    auditFields.Add(new SpecialField { Name = _model.CreatedDateColumnName, Type = SpecialFieldTypeConstants.CreatedDate });
                    auditFields.Add(new SpecialField { Name = _model.ModifiedByColumnName, Type = SpecialFieldTypeConstants.ModifiedBy });
                    auditFields.Add(new SpecialField { Name = _model.ModifiedDateColumnName, Type = SpecialFieldTypeConstants.ModifedDate });
                    auditFields.Add(new SpecialField { Name = _model.TimestampColumnName, Type = SpecialFieldTypeConstants.Timestamp });
                    auditFields.Add(new SpecialField { Name = _model.TenantColumnName, Type = SpecialFieldTypeConstants.Tenant });

                    var pkey = ProgressHelper.ProgressingStarted("Importing...", true);
                    try
                    {
                        var importDomain = new nHydrate.DataImport.SqlClient.ImportDomain();

                        this.NewDatabase = importDomain.Import(connectionString, auditFields);
                        this.NewDatabase.CleanUp();
                        this.NewDatabase.SetupIdMap(this.CurrentDatabase);
                        //nHydrate.DataImport.ImportDomain.ReMapIDs(this.CurrentDatabase, this.NewDatabase);

                        //Remove tenant views
                        NewDatabase.ViewList.Remove(x => x.Name.ToLower().StartsWith(_model.TenantPrefix.ToLower() + "_"));

                        var errorCount = NewDatabase.StoredProcList.Count(x => x.InError);
                        NewDatabase.StoredProcList.Remove(x => x.InError);

                        //Load the tree
                        this.Populate();

                        ProgressHelper.ProgressingComplete(pkey);
                        if (errorCount > 0)
                            MessageBox.Show("There were " + errorCount + " stored procedure(s) that could not be imported.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                    }
                    catch (Exception ex)
                    {
                        throw;
                    }
                    finally
                    {
                        ProgressHelper.ProgressingComplete(pkey);
                    }

                    if (!this.AreChanges())
                    {
                        this.Cursor = Cursors.Default;
                        e.Cancel = true;
                        MessageBox.Show("This modelRoot is up-to-date. There are no changes to refresh.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }

                }
                catch (Exception ex)
                {
                    throw;
                }
                finally
                {
                    this.Cursor = Cursors.Default;
                }
            }
            else if (wizard1.WizardPages[e.OldIndex] == pageConnection && wizard1.WizardPages[e.NewIndex] == pageEntities)
            {
            }
            else if (wizard1.WizardPages[e.OldIndex] == pageEntities && wizard1.WizardPages[e.NewIndex] == pageSummary)
            {
                //If there are no entities selected and relations are still checked then prompt
                var nodeCheckedList = tvwAdd.Nodes[0].Nodes.AsEnumerable<TreeNode>().Where(x => x.Checked).ToList();
                nodeCheckedList.AddRange(tvwRefresh.Nodes[0].Nodes.AsEnumerable<TreeNode>().Where(x => x.Checked).ToList());
                nodeCheckedList.AddRange(tvwDelete.Nodes[0].Nodes.AsEnumerable<TreeNode>().Where(x => x.Checked).ToList());

                if (nodeCheckedList.Count == 0 && !chkIgnoreRelations.Checked)
                {
                    var result = MessageBox.Show("There are no entities selected but relations will be refreshed. Do you want to turn off relation refreshing?", "Ignore Relations", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
                    if (result == System.Windows.Forms.DialogResult.Yes)
                    {
                        chkIgnoreRelations.Checked = true;
                    }
                    else if (result == System.Windows.Forms.DialogResult.No)
                    {
                        //Do Nothing
                    }
                    else if (result == System.Windows.Forms.DialogResult.Cancel)
                    {
                        e.Cancel = true;
                        return;
                    }
                }

                //Moving the to the summary page
                CreateSummary();
            }

        }
Esempio n. 6
0
        private void cmdTestConnection_Click(object sender, EventArgs e)
        {
            DatabaseConnectionControl1.RefreshOptions();
            var connectString = DatabaseConnectionControl1.ImportOptions.GetConnectionString();
            var importDomain = new nHydrate.DataImport.SqlClient.ImportDomain();
            var databaseHelper = importDomain.DatabaseDomain;

            var valid = databaseHelper.TestConnectionString(connectString);
            if (valid)
            {
                MessageBox.Show("Connection Succeeded.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("The information does not describe a valid connection string.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Esempio n. 7
0
        private void wizard1_BeforeSwitchPages(object sender, nHydrate.Wizard.Wizard.BeforeSwitchPagesEventArgs e)
        {
            var oldPage = wizard1.WizardPages[e.OldIndex];
            var newPage = wizard1.WizardPages[e.NewIndex];

            var importDomain = new nHydrate.DataImport.SqlClient.ImportDomain();
            var databaseHelper = importDomain.DatabaseDomain;

            if ((oldPage == pageImport) && (e.NewIndex > e.OldIndex))
            {
                //Test Connection
                var connectString = DatabaseConnectionControl1.ImportOptions.GetConnectionString();

                var valid = databaseHelper.TestConnectionString(connectString);
                if (!valid)
                {
                    MessageBox.Show("The information does not describe a valid connection string.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    e.Cancel = true;
                    return;
                }

                //Load the dropdown
                var auditFields = new List<string>();
                var list = importDomain.GetEntityList(connectString);
                cboTable.DataSource = list;
                cboTable.SelectedItem = list.FirstOrDefault(x => x.ToLower() == _entity.Name.ToLower());

            }
            else if ((oldPage == pageChooseTable) && (e.NewIndex > e.OldIndex))
            {
                //Verify that the table schema matches
                var connectionString = DatabaseConnectionControl1.ImportOptions.GetConnectionString();

                var auditFields = new List<SpecialField>();
                auditFields.Add(new SpecialField { Name = _entity.nHydrateModel.CreatedByColumnName, Type = SpecialFieldTypeConstants.CreatedBy });
                auditFields.Add(new SpecialField { Name = _entity.nHydrateModel.CreatedDateColumnName, Type = SpecialFieldTypeConstants.CreatedDate });
                auditFields.Add(new SpecialField { Name = _entity.nHydrateModel.ModifiedByColumnName, Type = SpecialFieldTypeConstants.ModifiedBy });
                auditFields.Add(new SpecialField { Name = _entity.nHydrateModel.ModifiedDateColumnName, Type = SpecialFieldTypeConstants.ModifedDate });
                auditFields.Add(new SpecialField { Name = _entity.nHydrateModel.TimestampColumnName, Type = SpecialFieldTypeConstants.Timestamp });
                auditFields.Add(new SpecialField { Name = _entity.nHydrateModel.TenantColumnName, Type = SpecialFieldTypeConstants.Tenant });
                var dsValues = databaseHelper.GetStaticData(connectionString, importDomain.GetEntity(connectionString, (string)cboTable.SelectedValue, auditFields));
                this.LoadData(dsValues);
            }

        }