private void AMSLogin_Load(object sender, EventArgs e) { // To clear list //Properties.Settings.Default.LoginListRPv3JSON = ""; if (!string.IsNullOrWhiteSpace(Properties.Settings.Default.LoginListRPv3JSON)) { // JSon deserialize CredentialList = (ListCredentialsRPv3)JsonConvert.DeserializeObject(Properties.Settings.Default.LoginListRPv3JSON, typeof(ListCredentialsRPv3)); // Display accounts in the list CredentialList.MediaServicesAccounts.ForEach(c => AddItemToListviewAccounts(c) ); } buttonExport.Enabled = (listViewAccounts.Items.Count > 0); accountmgtlink.Links.Add(new LinkLabel.Link(0, accountmgtlink.Text.Length, Constants.LinkAMSCreateAccount)); linkLabelAADAut.Links.Add(new LinkLabel.Link(0, linkLabelAADAut.Text.Length, Constants.LinkAMSAADAut)); // version labelVersion.Text = String.Format(labelVersion.Text, Assembly.GetExecutingAssembly().GetName().Version); DoEnableManualFields(false); }
private void CopyAsset_Load(object sender, EventArgs e) { copyassetname.Text = Constants.NameconvAsset + "-copy-" + Program.GetUniqueness(); DpiUtils.InitPerMonitorDpi(this); // Add a dummy column ColumnHeader header = new ColumnHeader(); header.Text = ""; header.Name = "col1"; listViewAccounts.Columns.Add(header); // Then listViewAccounts.Scrollable = true; listViewAccounts.View = System.Windows.Forms.View.Details; if (!string.IsNullOrWhiteSpace(Properties.Settings.Default.LoginListRPv3JSON)) { // JSon deserialize CredentialList = (ListCredentialsRPv3)JsonConvert.DeserializeObject(Properties.Settings.Default.LoginListRPv3JSON, typeof(ListCredentialsRPv3)); // Display accounts in the list CredentialList.MediaServicesAccounts.ForEach(c => AddItemToListviewAccounts(c) ); } }
private void ButtonExport_Click(object sender, EventArgs e) { bool exportAll = true; bool exportSPSecrets = false; var form = new ExportSettings(); // There are more than one entry and one has been selected. form.radioButtonAllEntries.Enabled = CredentialList.MediaServicesAccounts.Count > 1 && listViewAccounts.SelectedIndices.Count > 0; form.checkBoxIncludeSPSecrets.Checked = exportSPSecrets; if (form.ShowDialog() == DialogResult.OK) { exportAll = form.radioButtonAllEntries.Checked; exportSPSecrets = form.checkBoxIncludeSPSecrets.Checked; var jsonResolver = new PropertyRenameAndIgnoreSerializerContractResolver(); List<string> properties = new List<string> { "EncryptedADSPClientSecret" }; if (!exportSPSecrets) properties.Add("ClearADSPClientSecret"); jsonResolver.IgnoreProperty(typeof(CredentialsEntryV3), properties.ToArray()); // let's not export encrypted secret and may be clear secret JsonSerializerSettings settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore, Formatting = Newtonsoft.Json.Formatting.Indented, ContractResolver = jsonResolver }; DialogResult diares = saveFileDialog1.ShowDialog(); if (diares == DialogResult.OK) { try { if (exportAll) { System.IO.File.WriteAllText(saveFileDialog1.FileName, JsonConvert.SerializeObject(CredentialList, settings)); } else { var copyEntry = new ListCredentialsRPv3(); for (int i = 0; i < listViewAccounts.SelectedIndices.Count; i++) { copyEntry.MediaServicesAccounts.Add(CredentialList.MediaServicesAccounts[listViewAccounts.SelectedIndices[i]]); } System.IO.File.WriteAllText(saveFileDialog1.FileName, JsonConvert.SerializeObject(copyEntry, settings)); } } catch (Exception ex) { MessageBox.Show(ex.Message, AMSExplorer.Properties.Resources.AMSLogin_buttonExport_Click_Error, MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
private void buttonImportAll_Click(object sender, EventArgs e) { bool mergesentries = false; if (CredentialList.MediaServicesAccounts.Count > 0) // There are entries. Let's ask if user want to delete them or merge { if (System.Windows.Forms.MessageBox.Show(AMSExplorer.Properties.Resources.AMSLogin_buttonImportAll_Click_ThereAreCurrentEntriesInTheListNDoYouWantReplaceThemWithTheNewOnesOrDoAMergeNNSelectYesToReplaceThemNoToMergeThem, AMSExplorer.Properties.Resources.AMSLogin_buttonImportAll_Click_ImportAndReplace, System.Windows.Forms.MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.No) { mergesentries = true; } } DialogResult diares = openFileDialog1.ShowDialog(); if (diares == DialogResult.OK) { if (Path.GetExtension(openFileDialog1.FileName).ToLower() == ".json") { string json = System.IO.File.ReadAllText(openFileDialog1.FileName); if (!mergesentries) { CredentialList.MediaServicesAccounts.Clear(); // let's purge entries if user does not want to keep them } ListCredentialsRPv3 ImportedCredentialList = null; try { ImportedCredentialList = (ListCredentialsRPv3)JsonConvert.DeserializeObject(json, typeof(ListCredentialsRPv3)); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error when importing json file", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (ImportedCredentialList.Version < (new ListCredentialsRPv3()).Version) { MessageBox.Show("This file was created with an older version of AMSE. Import is not possible.", "Wrong version", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } CredentialList.MediaServicesAccounts.AddRange(ImportedCredentialList.MediaServicesAccounts); listViewAccounts.Items.Clear(); CredentialList.MediaServicesAccounts.ForEach(c => AddItemToListviewAccounts(c)); buttonExport.Enabled = (listViewAccounts.Items.Count > 0); // let's save the list of credentials in settings SaveCredentialsToSettings(); } } }
private void AMSLogin_Load(object sender, EventArgs e) { //Properties.Settings.Default.LoginListRPv3JSON = ""; DpiUtils.InitPerMonitorDpi(this); // Add a dummy column ColumnHeader header = new ColumnHeader { Text = "", Name = "col1" }; listViewAccounts.Columns.Add(header); // Then listViewAccounts.Scrollable = true; listViewAccounts.View = System.Windows.Forms.View.Details; if (!string.IsNullOrWhiteSpace(Properties.Settings.Default.LoginListRPv3JSON)) { // JSon deserialize CredentialList = (ListCredentialsRPv3)JsonConvert.DeserializeObject(Properties.Settings.Default.LoginListRPv3JSON, typeof(ListCredentialsRPv3)); // Display accounts in the list CredentialList.MediaServicesAccounts.ForEach(c => AddItemToListviewAccounts(c) ); } buttonExport.Enabled = (listViewAccounts.Items.Count > 0); accountmgtlink.Links.Add(new LinkLabel.Link(0, accountmgtlink.Text.Length, Constants.LinkAMSCreateAccount)); linkLabelAADAut.Links.Add(new LinkLabel.Link(0, linkLabelAADAut.Text.Length, Constants.LinkAMSAADAut)); // version labelVersion.Text = string.Format(labelVersion.Text, Assembly.GetExecutingAssembly().GetName().Version); DoEnableManualFields(false); }