Beispiel #1
0
 public frmNewDatabase(IDatabaseConfigurator configurator, String server)
 {
     InitializeComponent();
     PopulateConfigurators();
     this.DatabaseConfigurator = configurator;
     this.Server = server;
 }
Beispiel #2
0
        private void ValidateAndConfigureDatabaseInterface()
        {
            IDatabaseConfigurator configurator = Services.GetService <IDatabaseConfigurator>();

            configurator
            .UseDatabaseProvider(Settings.DatabaseSettings.DatabaseProvider)
            .UseConnectionString(Settings.DatabaseSettings.ConnectionString);

            if (!configurator.TryOpenInfoBase(out InfoBase infoBase, out string errorMessage))
            {
                throw new Exception($"Failed to load 1C metadata:\n{errorMessage}");
            }

            ApplicationObject queue = configurator.GetOutgoingQueueMetadata(infoBase);

            if (queue == null)
            {
                throw new Exception($"Failed to load 1C metadata for the incoming queue.");
            }

            if (!configurator.OutgoingQueueSequenceExists())
            {
                configurator.ConfigureOutgoingQueue(queue);
            }
        }
Beispiel #3
0
        /// <summary>
        /// Prepare configuration
        /// </summary>
        public void PrepareConfigure(XmlDocument configurationDom, Dictionary <string, System.Collections.Specialized.StringCollection> deploymentOptions)
        {
            StringCollection dbServer   = null,
                             dbProvider = null,
                             dbUser     = null,
                             dbPassword = null,
                             dbDb       = null;

            if (!deploymentOptions.TryGetValue("dbprovider", out dbProvider) ||
                !deploymentOptions.TryGetValue("dbserver", out dbServer) ||
                !deploymentOptions.TryGetValue("dbuser", out dbUser) ||
                !deploymentOptions.TryGetValue("dbpassword", out dbPassword) ||
                !deploymentOptions.TryGetValue("dbdb", out dbDb))
            {
                Trace.TraceError("Insufficient application configuration options");
            }


            // Now, try to create the dbprovider
            this.DatabaseConfigurator = Activator.CreateInstance(Type.GetType(dbProvider[0])) as IDatabaseConfigurator;
            try // to create the "dbname"
            {
                this.DatabaseConfigurator.CreateDatabase(dbServer[0], dbUser[0], dbPassword[0], dbDb[0], dbUser[0]);
            }
            catch { }

            // Setup the connection string
            this.ConnectionString    = this.DatabaseConfigurator.CreateConnectionStringElement(configurationDom, dbServer[0], dbUser[0], dbPassword[0], dbDb[0]);
            this.EnableConfiguration = true;
        }
        /// <summary>
        /// Create a new database
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnNew_Click(object sender, EventArgs e)
        {
            frmNewDatabase newDatabase = new frmNewDatabase(this.DatabaseConfigurator, this.txtDatabaseAddress.Text);

            if (newDatabase.ShowDialog() == DialogResult.OK)
            {
                if (newDatabase.DatabaseConfigurator != this.DatabaseConfigurator)
                {
                    this.DatabaseConfigurator = newDatabase.DatabaseConfigurator;
                    txtDatabaseAddress.Text   = "";
                    txtUserName.Text          = "";
                    cbxDatabase.Text          = "";
                }

                if (txtDatabaseAddress.Text == "")
                {
                    txtDatabaseAddress.Text = newDatabase.Server;
                }
                if (txtUserName.Text == "")
                {
                    txtUserName.Text = newDatabase.Server;
                }
                if (cbxDatabase.Text == "")
                {
                    cbxDatabase.Text = newDatabase.DatabaseName;
                }
            }
        }
        public DatabaseMessageProducer(IServiceProvider serviceProvider, IOptions <MessageConsumerSettings> options)
        {
            Settings = options.Value;
            Services = serviceProvider;
            IDatabaseConfigurator configurator = Services.GetService <IDatabaseConfigurator>();

            IncomingQueueInsertScript = configurator.IncomingQueueInsertScript;
            YearOffset = configurator.YearOffset;
        }
        /// <summary>
        /// Set connection string stuff
        /// </summary>
        public void SetConnectionString(XmlDocument configurationDom, string connectionString)
        {
            IDatabaseConfigurator dpc = this.cbxProviderType.SelectedItem as IDatabaseConfigurator;

            if (dpc == null)
            {
                return;
            }
            cbxDatabase.Text        = dpc.GetConnectionStringElement(configurationDom, ConnectionStringPartType.Database, connectionString);
            txtUserName.Text        = dpc.GetConnectionStringElement(configurationDom, ConnectionStringPartType.UserName, connectionString);
            txtPassword.Text        = dpc.GetConnectionStringElement(configurationDom, ConnectionStringPartType.Password, connectionString);
            txtDatabaseAddress.Text = dpc.GetConnectionStringElement(configurationDom, ConnectionStringPartType.Host, connectionString);
            connectionParameter_Validated(null, EventArgs.Empty);
        }
Beispiel #7
0
        /// <summary>
        /// Drop down
        /// </summary>
        private void cbxDatabase_DropDown(object sender, EventArgs e)
        {
            cbxDatabase.Items.Clear();
            IDatabaseConfigurator conf = cbxProviderType.SelectedItem as IDatabaseConfigurator;

            try
            {
                cbxDatabase.Items.AddRange(conf.GetDatabases(txtDatabaseAddress.Text, txtUserName.Text, txtPassword.Text));
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                cbxDatabase.Enabled = false;
            }
        }
Beispiel #8
0
 public WebsiteContext(DbContextOptions options, IDatabaseConfigurator configurator)
     : base(options)
 {
     _configurator = configurator;
 }
Beispiel #9
0
        /// <summary>
        /// Start the configuration process...
        /// </summary>
        private void btnContinue_Click(object sender, EventArgs e)
        {
            Cursor = Cursors.WaitCursor;
            btnContinue.Enabled = false;
            try
            {
                // Start by creating the configuration file
                XmlDocument configFile = new XmlDocument();
                configFile.LoadXml(Resources.empty);
                IDatabaseConfigurator conf = cbxProviderType.SelectedItem as IDatabaseConfigurator;

                // Do an easy config ... first with the connection strings
                foreach (IConfigurationPanel pnl in ConfigurationApplicationContext.s_configurationPanels)
                {
                    if (pnl is IDataboundConfigurationPanel)
                    {
                        (pnl as IDataboundConfigurationPanel).ConnectionString     = conf.CreateConnectionStringElement(configFile, txtDatabaseAddress.Text, txtUserName.Text, txtPassword.Text, cbxDatabase.SelectedItem.ToString());
                        (pnl as IDataboundConfigurationPanel).DatabaseConfigurator = conf;
                    }
                }

                // Easy or complex?
                if (rdoEasy.Checked)
                {
                    // Save the configuration
                    var progress = new frmProgress();
                    int i        = 0;
                    try
                    {
                        progress.Show();

                        foreach (IConfigurationPanel pnl in ConfigurationApplicationContext.s_configurationPanels)
                        {
                            progress.Status         = (int)((++i / (float)ConfigurationApplicationContext.s_configurationPanels.Count) * 100);
                            progress.StatusText     = String.Format("Applying Configuration for {0}...", pnl.ToString());
                            pnl.EnableConfiguration = true;
                            pnl.Configure(configFile);
                        }
                    }
                    catch (Exception ex)
                    {
#if DEBUG
                        MessageBox.Show(ex.ToString(), "Error Configuring Service");
#else
                        MessageBox.Show(ex.Message, "Error Configuring Service");
#endif
                        foreach (IConfigurationPanel pnl in ConfigurationApplicationContext.s_configurationPanels)
                        {
                            progress.Status         = (int)((i-- / (float)ConfigurationApplicationContext.s_configurationPanels.Count) * 100);
                            progress.StatusText     = String.Format("Removing Configuration for {0}...", pnl.ToString());
                            pnl.EnableConfiguration = true;
                            pnl.UnConfigure(configFile);
                        }

                        return;
                    }
                    finally
                    {
                        progress.Close();
                    }
                    configFile.Save(ConfigurationApplicationContext.s_configFile);
                    this.DialogResult = DialogResult.OK;
                }
                else
                {
                    configFile.Save(ConfigurationApplicationContext.s_configFile);
                    this.DialogResult = DialogResult.OK;
                }

                this.Close();
            }
            finally
            {
                Cursor = Cursors.Default;
                btnContinue.Enabled = true;
            }
        }