protected void Page_Init(object sender, EventArgs e) { ConfigurationSteps.WBxCreateTasksTable(WBCollection.ConfigurationStepsNames); if (String.IsNullOrEmpty(NextConfigurationStep.Value)) { NextConfigurationStep.Value = WBCollection.ConfigurationStepsNames[0]; } }
private void doNextConfigurationStep() { WBTaskFeedback feedback = collection.DoConfigurationStep(NextConfigurationStep.Value); ConfigurationSteps.WBxUpdateTask(feedback); if (!String.IsNullOrEmpty(feedback.NextTaskName)) { NextConfigurationStep.Value = feedback.NextTaskName; ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "TriggerNextStepFunction", "WorkBoxFramework_triggerNextConfigurationStep();", true); } else { CancelButton.Text = "Done"; } }
private void RefreshSteps() { if (SelectedConfiguration != null) { ConfigurationSteps.Clear(); foreach (ConfigurationStepModel cfgs in SelectedConfiguration.Steps) { ConfigurationSteps.Add(cfgs); } ConfigurationStepsAreEnabled = true; } else { ConfigurationStepsAreEnabled = false; } }
public void PushDatabaseConfiguration(Database.ConfigurationSteps nextActionDatabaseConfigurationStep) { switch (nextActionDatabaseConfigurationStep) { case ConfigurationSteps.ConfigurationCancel: IEnumerable<KeyValuePair<string, ICommunicatorCallback>> callBackList = communicator.ClientList.Where(itm => itm.Key != databaseConnectionSessionID); foreach (KeyValuePair<string, ICommunicatorCallback> callBack in callBackList) { BackgroundWorker callBackForConfigurationCancel = new BackgroundWorker(); callBackForConfigurationCancel.DoWork += callBackForConfigurationCancel_DoWork; callBackForConfigurationCancel.RunWorkerCompleted += DisposeOn_RunWorkerCompleted; callBackForConfigurationCancel.RunWorkerAsync(callBack); } break; case ConfigurationSteps.CreateDatabase: configureDatabaseConnectionWorker = new BackgroundWorker(); configureDatabaseConnectionWorker.DoWork += configureDatabaseConnectionWorker_DoWork; configureDatabaseConnectionWorker.RunWorkerCompleted += configureDatabaseConnectionWorker_RunWorkerCompleted; configurationStep = ConfigurationSteps.CreateDatabase; configureDatabaseConnectionWorker.RunWorkerAsync(); break; } }
private void configureDatabaseConnectionWorker_DoWork(object sender, DoWorkEventArgs e) { if (configurationStep == ConfigurationSteps.Initializing) { bool done = false; while (!done) done = connectionDatabaseCallbackWorkerList.Count(itm => itm.IsBusy) == 0; masterConnectionString = submittedDatabaseConfiguration.GenerateConnectionString(Information.ConnectionStringType.UseMaster); emptyCatalogConnectionString = submittedDatabaseConfiguration.GenerateConnectionString(Information.ConnectionStringType.EmptyCatalog); connectionString = submittedDatabaseConfiguration.GenerateConnectionString(); configurationStep = ConfigurationSteps.CheckingInstance; } if (configurationStep == ConfigurationSteps.CheckingInstance) { configurationStep = CheckInstance(); if (configurationStep == ConfigurationSteps.InstanceFailure) return; configurationStep = ConfigurationSteps.CheckingDatabase; } if (configurationStep == ConfigurationSteps.CheckingDatabase) { configurationStep = CheckDatabase(submittedDatabaseConfiguration); if (configurationStep == ConfigurationSteps.DatabaseNotAvailable) return; configurationStep = ConfigurationSteps.DatabaseAvailable; } if (configurationStep == ConfigurationSteps.CreateDatabase) { configurationStep = CreateDatabase(); if (configurationStep == ConfigurationSteps.CreateDatabaseFailed) return; bool result = Framework.Operations.Instance.ImportAssembly(Assembly.Load("BOMBS.Core"), connectionString); if (result) { configurationStep = ConfigurationSteps.DatabaseAvailable; communicator.ServerInformation.DatabaseInformation = submittedDatabaseConfiguration; submittedDatabaseConfiguration.WriteResources(); } else configurationStep = ConfigurationSteps.ImportCoreModuleFailed; } }