private void _cmsi_Assessments_Delete_Click(object sender, EventArgs e) { if (_grid_Assessments.ActiveRow != null && _grid_Assessments.ActiveRow.IsDataRow) { string policyName = _grid_Assessments.ActiveRow.Cells[colHeaderName].Text; int policyId = (int)_grid_Assessments.ActiveRow.Cells[colHeaderHiddenPolicyId].Value; int assessmentId = (int)_grid_Assessments.ActiveRow.Cells[colHeaderHiddenAssessmentId].Value; Repository.AssessmentList assessments = Program.gController.Repository.Policies.Find(policyId).Assessments; Policy p = assessments.Find(assessmentId); DeletePolicy(p); } }
private void _grid_Assessments_AfterRowActivate(object sender, EventArgs e) { bool enabled = false; if (_grid_Assessments.ActiveRow != null && _grid_Assessments.ActiveRow.IsDataRow) { int policyId = (int)_grid_Assessments.ActiveRow.Cells[colHeaderHiddenPolicyId].Value; Program.gController.Repository.RefreshPolicies(); int assessmentId = (int)_grid_Assessments.ActiveRow.Cells[colHeaderHiddenAssessmentId].Value; Repository.AssessmentList assessments = Program.gController.Repository.Policies.Find(policyId).Assessments; Policy p = assessments.Find(assessmentId); if (!p.IsApprovedAssessment && !p.IsCurrentAssessment) { enabled = true; } } _cmsi_Assessments_Delete.Enabled = enabled; _cmsi_Assessments_Configure.Enabled = enabled; }
private void loadAssessmentsDataSource(int policyId, bool bUpdate) { _dt_Assessments.Clear(); try { // Retrieve policy information. Repository.AssessmentList assessments = Program.gController.Repository.Policies.Find(policyId).Assessments; foreach (Sql.Policy p in assessments) { if (!p.IsAssessment) { continue; } DataRow newRow = _dt_Assessments.NewRow(); newRow[colHeaderName] = p.AssessmentName; newRow[colHeaderDate] = p.AssessmentDate.Value.ToLocalTime().ToString(Utility.Constants.DATETIME_FORMAT); newRow[colHeaderConfiguredHigh] = p.MetricCountHigh; newRow[colHeaderConfiguredMedium] = p.MetricCountMedium; newRow[colHeaderConfiguredLow] = p.MetricCountLow; newRow[colHeaderRiskHigh] = p.FindingCountHigh; newRow[colHeaderRiskMedium] = p.FindingCountMedium; newRow[colHeaderRiskLow] = p.FindingCountLow; newRow[colHeaderDescription] = p.AssessmentDescription; newRow[colHeaderHiddenPolicyId] = p.PolicyId; newRow[colHeaderHiddenAssessmentId] = p.AssessmentId; newRow[colHeaderState] = p.AssessmentStateName; if (p.FindingCountHigh > 0) { newRow[colHeaderStatus] = Utility.Policy.SeverityExplained.High; } else if (p.FindingCountMedium > 0) { newRow[colHeaderStatus] = Utility.Policy.SeverityExplained.Medium; } else if (p.FindingCountLow > 0) { newRow[colHeaderStatus] = Utility.Policy.SeverityExplained.Low; } else if (p.FindingCountHighExplained > 0) { newRow[colHeaderStatus] = Utility.Policy.SeverityExplained.HighExplained; } else if (p.FindingCountMediumExplained > 0) { newRow[colHeaderStatus] = Utility.Policy.SeverityExplained.MediumExplained; } else if (p.FindingCountLowExplained > 0) { newRow[colHeaderStatus] = Utility.Policy.SeverityExplained.LowExplained; } else { newRow[colHeaderStatus] = Utility.Policy.SeverityExplained.Ok; } _dt_Assessments.Rows.Add(newRow); } } catch (Exception ex) { logX.loggerX.Error(@"Error - Unable to retrieve Assessments", ex); Utility.MsgBox.ShowError(Utility.ErrorMsgs.CantGetLoginsCaption, ex); } this._grid_Assessments.BeginUpdate(); this._grid_Assessments.DataSource = _dt_Assessments; this._grid_Assessments.DataMember = ""; if (bUpdate) { this._grid_Assessments.EndUpdate(); } Policy policy = Program.gController.Repository.GetPolicy(policyId); _label_Assessments.Text = string.Format(AssessmentsHeaderDisplay, policy.PolicyName, _grid_Assessments.Rows.Count.ToString()); if (_grid_Assessments.Rows.Count == 0) { _label_NoAssessments.Visible = true; _grid_Assessments.Visible = false; } else { _label_NoAssessments.Visible = false; _grid_Assessments.Visible = true; } }