/// <summary> /// Commit the changes to memory, save the configuration settings to disk and create a backup. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void SaveConfigurationFileToolStripMenuItem_Click(object sender, EventArgs e) { #region root path file // Update the paths in memory GlobalParameters.OutputPath = textBoxOutputPath.Text; GlobalParameters.ConfigurationPath = textBoxConfigurationPath.Text; var localEnvironment = (KeyValuePair <TeamWorkingEnvironment, string>)comboBoxEnvironments.SelectedItem; GlobalParameters.WorkingEnvironment = localEnvironment.Key.environmentKey; GlobalParameters.WorkingEnvironmentInternalId = localEnvironment.Key.environmentInternalId; // Save the paths from memory to disk. UpdateRootPathFile(); #endregion // Make sure the new paths as updated are available upon save for backup etc. // Check if the paths and files are available, just to be sure. FileHandling.InitialisePath(GlobalParameters.ConfigurationPath); FileHandling.InitialisePath(GlobalParameters.OutputPath); TeamConfiguration.CreateDummyEnvironmentConfigurationFile(GlobalParameters.ConfigurationPath + GlobalParameters.ConfigFileName + '_' + GlobalParameters.WorkingEnvironment + GlobalParameters.FileExtension); ValidationSetting.CreateDummyValidationFile(GlobalParameters.ConfigurationPath + GlobalParameters.ValidationFileName + '_' + GlobalParameters.WorkingEnvironment + GlobalParameters.FileExtension); JsonExportSetting.CreateDummyJsonConfigurationFile(GlobalParameters.ConfigurationPath + GlobalParameters.JsonExportConfigurationFileName + '_' + GlobalParameters.WorkingEnvironment + GlobalParameters.FileExtension); // Create a file backup for the configuration file try { TeamUtility.CreateFileBackup(GlobalParameters.ConfigurationPath + GlobalParameters.ConfigFileName + '_' + GlobalParameters.WorkingEnvironment + GlobalParameters.FileExtension); richTextBoxInformation.Text = "A backup of the current configuration was made at " + DateTime.Now + " in " + textBoxConfigurationPath.Text + ".\r\n"; } catch (Exception) { richTextBoxInformation.Text = "TEAM was unable to create a backup of the configuration file."; } // Update the in-memory variables for use throughout the application, to commit the saved changes for runtime use. // This is needed before saving to disk, as the EnvironmentConfiguration Class retrieves the values from memory. UpdateConfigurationInMemory(); // Save the information LocalTeamEnvironmentConfiguration.SaveConfigurationFile(); parentFormMain.RevalidateFlag = true; }
private void SetStandardConfigurationSettings() { if (checkBoxConfigurationSettings.Checked) { TeamUtility.CreateFileBackup(GlobalParameters.ConfigurationPath + GlobalParameters.ConfigFileName + '_' + GlobalParameters.WorkingEnvironment + FormBase.GlobalParameters.FileExtension); // Shared values (same for all samples) var stagingAreaPrefix = "STG"; var persistentStagingAreaPrefix = "PSA"; var hubTablePrefix = "HUB_"; var satTablePrefix = "SAT_"; var linkTablePrefix = "LNK_"; var linkSatTablePrefix = "LSAT_"; string psaKeyLocation = "PrimaryKey"; string keyIdentifier; string sourceRowId; string eventDateTime; string loadDateTime; string expiryDateTime; string changeDataIndicator; string recordSource; string etlProcessId; string etlUpdateProcessId; string logicalDeleteAttribute; string tableNamingLocation; string keyNamingLocation; string recordChecksum; string currentRecordIndicator; string alternativeRecordSource; string alternativeHubLoadDateTime; string alternativeSatelliteLoadDateTime; string alternativeRecordSourceFunction; string alternativeHubLoadDateTimeFunction; string alternativeSatelliteLoadDateTimeFunction; keyIdentifier = "_SK"; sourceRowId = "SOURCE_ROW_ID"; eventDateTime = "EVENT_DATETIME"; loadDateTime = "LOAD_DATETIME"; expiryDateTime = "LOAD_END_DATETIME"; changeDataIndicator = "CDC_OPERATION"; recordSource = "RECORD_SOURCE"; etlProcessId = "MODULE_INSTANCE_ID"; etlUpdateProcessId = "MODULE_UPDATE_INSTANCE_ID"; logicalDeleteAttribute = "DELETED_RECORD_INDICATOR"; tableNamingLocation = "Prefix"; keyNamingLocation = "Suffix"; recordChecksum = "HASH_FULL_RECORD"; currentRecordIndicator = "CURRENT_RECORD_INDICATOR"; alternativeRecordSource = "N/A"; alternativeHubLoadDateTime = "N/A"; alternativeSatelliteLoadDateTime = "N/A"; alternativeRecordSourceFunction = "False"; alternativeHubLoadDateTimeFunction = "False"; alternativeSatelliteLoadDateTimeFunction = "False"; TeamConfiguration.EnvironmentMode = EnvironmentModes.PhysicalMode; TeamConfiguration.StgTablePrefixValue = stagingAreaPrefix; TeamConfiguration.PsaTablePrefixValue = persistentStagingAreaPrefix; TeamConfiguration.HubTablePrefixValue = hubTablePrefix; TeamConfiguration.SatTablePrefixValue = satTablePrefix; TeamConfiguration.LinkTablePrefixValue = linkTablePrefix; TeamConfiguration.LsatTablePrefixValue = linkSatTablePrefix; TeamConfiguration.DwhKeyIdentifier = keyIdentifier; TeamConfiguration.PsaKeyLocation = psaKeyLocation; TeamConfiguration.TableNamingLocation = tableNamingLocation; TeamConfiguration.KeyNamingLocation = keyNamingLocation; TeamConfiguration.EventDateTimeAttribute = eventDateTime; TeamConfiguration.LoadDateTimeAttribute = loadDateTime; TeamConfiguration.ExpiryDateTimeAttribute = expiryDateTime; TeamConfiguration.ChangeDataCaptureAttribute = changeDataIndicator; TeamConfiguration.RecordSourceAttribute = recordSource; TeamConfiguration.EtlProcessAttribute = etlProcessId; TeamConfiguration.EtlProcessUpdateAttribute = etlUpdateProcessId; TeamConfiguration.RowIdAttribute = sourceRowId; TeamConfiguration.RecordChecksumAttribute = recordChecksum; TeamConfiguration.CurrentRowAttribute = currentRecordIndicator; TeamConfiguration.LogicalDeleteAttribute = logicalDeleteAttribute; TeamConfiguration.EnableAlternativeRecordSourceAttribute = alternativeRecordSourceFunction; TeamConfiguration.AlternativeRecordSourceAttribute = alternativeRecordSource; TeamConfiguration.EnableAlternativeLoadDateTimeAttribute = alternativeHubLoadDateTimeFunction; TeamConfiguration.AlternativeLoadDateTimeAttribute = alternativeHubLoadDateTime; TeamConfiguration.EnableAlternativeSatelliteLoadDateTimeAttribute = alternativeSatelliteLoadDateTimeFunction; TeamConfiguration.AlternativeSatelliteLoadDateTimeAttribute = alternativeSatelliteLoadDateTime; LocalTeamEnvironmentConfiguration.SaveConfigurationFile(); } }