void UpdateStatus() { if (lstType.Items.Count == 0) { lstType.Items.Add("None"); lstType.Items.Add("Disk Space"); lstType.Items.Add("Event Log"); lstType.Items.Add("Add/Remove Programs"); lstType.Items.Add("Startup Elements"); lstType.Items.Add("SMART Reporting"); lstType.Items.Add("Simple Tasks completed"); } lstType.SelectedIndex = (int)Cert.Type; chkReportToAdmin.CheckState = C(Cert.ReportToAdmin); chkReportToClient.CheckState = C(Cert.ReportToClient); chkUrgentReportAdmin.CheckState = C(Cert.UrgentForAdmin); chkUrgentReportToClient.CheckState = C(Cert.UrgentForClient); lstItems.Items.Clear(); foreach (string e in Cert.ReportingElements) { ReportingPolElement r = new ReportingPolElement(); r.Element = e; r.Explain = Explain(e); lstItems.Items.Add(r); } }
private void cmdEdit_Click(object sender, EventArgs e) { if (lstItems.SelectedItems.Count == 0) { return; } if (lstItems.SelectedItems.Count > 1) { MessageBox.Show(this, "You can only edit one item at a time.", Program.Title, MessageBoxButtons.OK, MessageBoxIcon.Information); return; } ReportingPolElement r = (ReportingPolElement)lstItems.SelectedItem; int index = Cert.ReportingElements.IndexOf(r.Element); if (index == -1) { MessageBox.Show(this, "Cannot find the element internally!", Program.Title, MessageBoxButtons.OK, MessageBoxIcon.Stop); return; } switch (LastType) { case 1: { frmDiskSpace d = new frmDiskSpace(r.Element); if (d.ShowDialog(this) != DialogResult.OK) { return; } Cert.ReportingElements[index] = JsonConvert.SerializeObject(d.Element); UpdateStatus(); } break; case 2: { frmEventLog d = new frmEventLog(r.Element); if (d.ShowDialog(this) != DialogResult.OK) { return; } Cert.ReportingElements[index] = JsonConvert.SerializeObject(d.Element); UpdateStatus(); } break; case 3: { frmAddRemovePrograms d = new frmAddRemovePrograms(r.Element); if (d.ShowDialog(this) != DialogResult.OK) { return; } Cert.ReportingElements[index] = JsonConvert.SerializeObject(d.Element); UpdateStatus(); } break; case 4: { frmStartup d = new frmStartup(r.Element); if (d.ShowDialog(this) != DialogResult.OK) { return; } Cert.ReportingElements[index] = JsonConvert.SerializeObject(d.Element); UpdateStatus(); } break; case 5: { frmSMARTConfig d = new frmSMARTConfig(r.Element); if (d.ShowDialog(this) != DialogResult.OK) { return; } Cert.ReportingElements[index] = JsonConvert.SerializeObject(d.Element); UpdateStatus(); } break; case 6: { Cert.ReportingElements[index] = JsonConvert.SerializeObject(new ReportingPolicyElementSimpleTaskCompleted()); UpdateStatus(); } break; } }