private void ActivateSnapshot(ListBox lb) { int index = lb.SelectedIndex; if (index > 0) { EnvironmentVariableTarget target = (EnvironmentVariableTarget)lb.Tag; EnvironmentSnapshot snapshot = snapshotManager.GetSnapshot(index, target); EnvironmentSnapshot current = snapshotManager.GetSnapshot(0, target); if (snapshot != null) { EnvironmentVariableManager.Begin(snapshot.Target); foreach (var variable in current.Variables) { EnvironmentVariableManager.DeleteEnvironmentVariable(variable.Name, target); } current.Variables.Clear(); foreach (var variable in snapshot.Variables) { EnvironmentVariableManager.SetEnvironmentVariable(variable.Name, variable.Value, target); current.Variables.Add(variable.Clone() as EnvironmentVariable); } EnvironmentVariableManager.End(snapshot.Target); lb.SelectedIndex = 0; } } }
private void CreateSnapshot(ListBox lb, string name) { try { if (name.Length > 0) { EnvironmentSnapshot snapshot = new EnvironmentSnapshot(name, (EnvironmentVariableTarget)lb.Tag); foreach (DictionaryEntry entry in EnvironmentVariableManager.GetEnvironmentVariables((EnvironmentVariableTarget)lb.Tag)) { EnvironmentVariable variable = new EnvironmentVariable(); variable.Name = entry.Key.ToString(); variable.Value = entry.Value.ToString(); snapshot.Variables.Add(variable); } if (snapshotManager.AppendSnapshot(snapshot)) { lb.Items.Add(snapshot.Name); } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error!"); } }
private void DeleteEnvVar(ListBox lb, DataGridView dgv) { var snapshot = DgvSnapshot(lb, dgv); var variables = DgvVariables(lb, dgv); if (snapshot != null && variables != null && variables.Count > 0) { if (MessageBox.Show("Are you sure to remove these variables?", "Confirm Deletion", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { if (snapshot.Name == "[Current]") { try { EnvironmentVariableManager.Begin(snapshot.Target); foreach (var variable in variables) { EnvironmentVariableManager.DeleteEnvironmentVariable(variable.Name, snapshot.Target); snapshot.Variables.Remove(variable); } EnvironmentVariableManager.End(snapshot.Target); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } snapshotManager.SaveSnapshot(ref snapshot); FillEnvironmentVariables(dgv, snapshot); } } }
private void SaveEnvironmentVariable() { try { StringBuilder value = EnvironmentVariableValue(); if (variable.Name.Length != 0 && variable.Name != txtVariableName.Text) { if (snapshot.Name == "[Current]") { EnvironmentVariableManager.Begin(snapshot.Target); EnvironmentVariableManager.DeleteEnvironmentVariable(variable.Name, snapshot.Target); EnvironmentVariableManager.End(snapshot.Target); } } if (snapshot.Name == "[Current]") { EnvironmentVariableManager.Begin(snapshot.Target); EnvironmentVariableManager.SetEnvironmentVariable(txtVariableName.Text, value.ToString(), snapshot.Target); EnvironmentVariableManager.End(snapshot.Target); } variable.Name = txtVariableName.Text; variable.Value = value.ToString(); // Set initial program state commandsList.Clear(); SetBtnState(); //this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Validation", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void dgvSysVariables_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e) { if (snapshot != null) { if (snapshot.Name == "[Current]") { EnvironmentVariableManager.End(snapshot.Target); } snapshotManager.SaveSnapshot(ref snapshot); FillEnvironmentVariables(dgvSysVariables, snapshot); snapshot = null; } }
public EnvironmentSnapshotManager() { EnvironmentVariableTarget usrTarget = EnvironmentVariableTarget.User; EnvironmentSnapshot usrSnapshot = new EnvironmentSnapshot("[Current]", usrTarget); foreach (DictionaryEntry entry in EnvironmentVariableManager.GetEnvironmentVariables(usrTarget)) { EnvironmentVariable variable = new EnvironmentVariable(); variable.Name = entry.Key.ToString(); variable.Value = entry.Value.ToString(); usrSnapshot.Variables.Add(variable); } usrSnapshots.Add(usrSnapshot); try { foreach (var file in Directory.GetFiles(appFolder + "\\snapshots\\usr", "*.env", SearchOption.TopDirectoryOnly)) { EnvironmentSnapshot snapshot = new EnvironmentSnapshot(Path.GetFileNameWithoutExtension(file), usrTarget); usrSnapshots.Add(snapshot); } } catch (DirectoryNotFoundException) { Directory.CreateDirectory(appFolder + "\\snapshots\\usr"); } EnvironmentVariableTarget sysTarget = EnvironmentVariableTarget.Machine; EnvironmentSnapshot sysSnapshot = new EnvironmentSnapshot("[Current]", sysTarget); foreach (DictionaryEntry entry in EnvironmentVariableManager.GetEnvironmentVariables(sysTarget)) { EnvironmentVariable variable = new EnvironmentVariable(); variable.Name = entry.Key.ToString(); variable.Value = entry.Value.ToString(); sysSnapshot.Variables.Add(variable); } sysSnapshots.Add(sysSnapshot); try { foreach (var file in Directory.GetFiles(appFolder + "\\snapshots\\sys", "*.env", SearchOption.TopDirectoryOnly)) { EnvironmentSnapshot snapshot = new EnvironmentSnapshot(Path.GetFileNameWithoutExtension(file), EnvironmentVariableTarget.Machine); sysSnapshots.Add(snapshot); } } catch (DirectoryNotFoundException) { Directory.CreateDirectory(appFolder + "\\snapshots\\sys"); } }
private static void Main() { Console.WriteLine("Testing KeyVaultManagerLib..."); IEnvironmentVariableManager evm = new EnvironmentVariableManager(); evm.EnvironmentVariablePreflight(AzureParameters.TenantId, AzureParameters.ClientId, AzureParameters.ClientSecret); using IAzureKeyVaultManager kvm = new AzureKeyVaultManager(AzureParameters.VaultUrl); var allSecretProps = kvm.GetAllSecretProperties(); foreach (var secretProps in allSecretProps) { Console.WriteLine($"Secret name: {secretProps.Name}, created on: {secretProps.CreatedOn}"); } }
private void dgvSysVariables_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e) { if (snapshot == null) { snapshot = DgvSnapshot(lbSysVariables, dgvSysVariables); if (snapshot.Name == "[Current]") { EnvironmentVariableManager.Begin(snapshot.Target); } } var variable = snapshot.Variables[e.Row.Index]; if (snapshot.Name == "[Current]") { EnvironmentVariableManager.DeleteEnvironmentVariable(variable.Name, snapshot.Target); } snapshot.Variables.Remove(variable); }
/// <summary> /// Add environment variables from a file containing a Functions app settings file /// </summary> /// <param name="appSettingsPath">A path to the app settings file</param> /// <param name="oneTimeOnly">Defaults to true, if true only set the variables one time</param> public void AddEnvironmentVariables(string appSettingsPath, bool oneTimeOnly = true) => EnvironmentVariableManager.AddEnvironmentVariables(appSettingsPath, oneTimeOnly);
/// <summary> /// Add environment variables from a stream containing a Functions app settings file /// </summary> /// <param name="appSettingsStream">The app settings stream</param> /// <param name="oneTimeOnly">Defaults to true, if true only set the variables one time</param> public void AddEnvironmentVariables(Stream appSettingsStream, bool oneTimeOnly = true) => EnvironmentVariableManager.AddEnvironmentVariables(appSettingsStream, oneTimeOnly);