public void TestGetKPIScorecardConfigurationAccuracy() { // act KPIScorecardConfiguration result = instance.GetKPIScorecardConfiguration(); // assert AssertResult(result); }
public void SaveKPIScorecardConfiguration(KPIScorecardConfiguration configuration) { KPIScorecardConfigurationService.SaveKPIScorecardConfiguration(configuration); }
public void TestSaveKPIScorecardConfigurationAccuracy() { // arrange KPIScorecardConfiguration configuration = CreateTestEntity <KPIScorecardConfiguration>(9, 3); KPIScorecardConfiguration existing = instance.GetKPIScorecardConfiguration(); // update AuditFinding config existing.AuditFinding.ImpactConfig[0].Id = 0; ReplaceLastTwoItems(existing.AuditFinding.ImpactConfig, configuration.AuditFinding.ImpactConfig); ReplaceLastTwoItems(existing.AuditFinding.ReportedToGORMConfig, configuration.AuditFinding.ReportedToGORMConfig); ReplaceLastTwoItems(existing.AuditFinding.RootCauseConfig, configuration.AuditFinding.RootCauseConfig); ReplaceLastTwoItems(existing.AuditFinding.SourceConfig, configuration.AuditFinding.SourceConfig); ReplaceLastTwoItems(existing.AuditFinding.StatusConfig, configuration.AuditFinding.StatusConfig); // update BusinessUnit config ReplaceLastTwoItems(existing.BusinessUnit.BusinessContinuityPlanningConfig, configuration.BusinessUnit.BusinessContinuityPlanningConfig); existing.BusinessUnit.BusinessUnits[0].Id = 0; ReplaceLastTwoItems(existing.BusinessUnit.BusinessUnits, configuration.BusinessUnit.BusinessUnits); ReplaceLastTwoItems(existing.BusinessUnit.ConcentrationRiskConfig, configuration.BusinessUnit.ConcentrationRiskConfig); ReplaceLastTwoItems(existing.BusinessUnit.FinancialIndicatorsConfig, configuration.BusinessUnit.FinancialIndicatorsConfig); ReplaceLastTwoItems(existing.BusinessUnit.MonthConfig, configuration.BusinessUnit.MonthConfig); ReplaceLastTwoItems(existing.BusinessUnit.OperationPerformanceConfig, configuration.BusinessUnit.OperationPerformanceConfig); ReplaceLastTwoItems(existing.BusinessUnit.SecurityConfig, configuration.BusinessUnit.SecurityConfig); ReplaceLastTwoItems(existing.BusinessUnit.StatusConfig, configuration.BusinessUnit.StatusConfig); ReplaceLastTwoItems(existing.BusinessUnit.VolumeTypeConfig, configuration.BusinessUnit.VolumeTypeConfig); ReplaceLastTwoItems(existing.BusinessUnit.YearConfig, configuration.BusinessUnit.YearConfig); // update OperationalIncident config existing.OperationalIncident.ImpactConfig[0].Id = 0; ReplaceLastTwoItems(existing.OperationalIncident.ImpactConfig, configuration.OperationalIncident.ImpactConfig); ReplaceLastTwoItems(existing.OperationalIncident.ReportedToGORMConfig, configuration.OperationalIncident.ReportedToGORMConfig); ReplaceLastTwoItems(existing.OperationalIncident.RootCauseConfig, configuration.OperationalIncident.RootCauseConfig); ReplaceLastTwoItems(existing.OperationalIncident.SourceConfig, configuration.OperationalIncident.SourceConfig); ReplaceLastTwoItems(existing.OperationalIncident.StatusConfig, configuration.OperationalIncident.StatusConfig); // update PrivacyIncident config existing.PrivacyIncident.MigrationCodeConfig[0].Id = 0; ReplaceLastTwoItems(existing.PrivacyIncident.MigrationCodeConfig, configuration.PrivacyIncident.MigrationCodeConfig); ReplaceLastTwoItems(existing.PrivacyIncident.RootCauseConfig, configuration.PrivacyIncident.RootCauseConfig); ReplaceLastTwoItems(existing.PrivacyIncident.StatusConfig, configuration.PrivacyIncident.StatusConfig); ReplaceLastTwoItems(existing.PrivacyIncident.TypeConfig, configuration.PrivacyIncident.TypeConfig); // act instance.SaveKPIScorecardConfiguration(existing); // assert AssertValueEntitiesExist(existing.AuditFinding.ImpactConfig); AssertValueEntitiesExist(existing.AuditFinding.ReportedToGORMConfig); AssertValueEntitiesExist(existing.AuditFinding.RootCauseConfig); AssertValueEntitiesExist(existing.AuditFinding.SourceConfig); AssertValueEntitiesExist(existing.AuditFinding.StatusConfig); AssertValueEntitiesExist(existing.BusinessUnit.MonthConfig); AssertValueEntitiesExist(existing.BusinessUnit.StatusConfig); AssertValueEntitiesExist(existing.BusinessUnit.VolumeTypeConfig); AssertValueEntitiesExist(existing.BusinessUnit.YearConfig); AssertValueEntitiesExist(existing.BusinessUnit.BusinessUnits); AssertKPIScorecardItemEntitiesExist(existing.BusinessUnit.BusinessContinuityPlanningConfig); AssertKPIScorecardItemEntitiesExist(existing.BusinessUnit.ConcentrationRiskConfig); AssertKPIScorecardItemEntitiesExist(existing.BusinessUnit.FinancialIndicatorsConfig); AssertKPIScorecardItemEntitiesExist(existing.BusinessUnit.OperationPerformanceConfig); AssertKPIScorecardItemEntitiesExist(existing.BusinessUnit.SecurityConfig); AssertValueEntitiesExist(existing.OperationalIncident.ImpactConfig); AssertValueEntitiesExist(existing.OperationalIncident.ReportedToGORMConfig); AssertValueEntitiesExist(existing.OperationalIncident.RootCauseConfig); AssertValueEntitiesExist(existing.OperationalIncident.SourceConfig); AssertValueEntitiesExist(existing.OperationalIncident.StatusConfig); AssertValueEntitiesExist(existing.PrivacyIncident.MigrationCodeConfig); AssertValueEntitiesExist(existing.PrivacyIncident.RootCauseConfig); AssertValueEntitiesExist(existing.PrivacyIncident.StatusConfig); AssertValueEntitiesExist(existing.PrivacyIncident.TypeConfig); }
/// <summary> /// Saves the KPI Scorecard configuration. /// </summary> /// /// <param name="configuration">The KPI Scorecard configuration.</param> /// /// <exception cref="ArgumentNullException"> /// If the <paramref name="configuration"/> is <c>null</c>. /// </exception> /// <exception cref="PersistenceException"> /// If error occurs while accessing the persistence. /// </exception> /// <exception cref="ServiceException"> /// If any other errors occur while performing this operation. /// </exception> public void SaveKPIScorecardConfiguration(KPIScorecardConfiguration configuration) { ProcessWithDb(db => { CommonHelper.ValidateArgumentNotNull(configuration, nameof(configuration)); // AuditFinding configuration var auditFinding = configuration.AuditFinding; if (auditFinding != null) { UpdateValueEntities(db, auditFinding.ImpactConfig); UpdateValueEntities(db, auditFinding.ReportedToGORMConfig); UpdateValueEntities(db, auditFinding.RootCauseConfig); UpdateValueEntities(db, auditFinding.SourceConfig); UpdateValueEntities(db, auditFinding.StatusConfig); } // BusinessUnit configuration var bu = configuration.BusinessUnit; if (bu != null) { // value entities UpdateValueEntities(db, bu.BusinessUnits); UpdateValueEntities(db, bu.MonthConfig); UpdateValueEntities(db, bu.StatusConfig); UpdateValueEntities(db, bu.VolumeTypeConfig); UpdateValueEntities(db, bu.YearConfig); // KPIScorecardItem entities UpdateScorecardItemEntities(db, bu.BusinessContinuityPlanningConfig, KPIScorecardItemType.BusinessContinuityPlanning); UpdateScorecardItemEntities(db, bu.ConcentrationRiskConfig, KPIScorecardItemType.ConcentrationRiskScores); UpdateScorecardItemEntities(db, bu.FinancialIndicatorsConfig, KPIScorecardItemType.FinancialIndicator); UpdateScorecardItemEntities(db, bu.OperationPerformanceConfig, KPIScorecardItemType.OperationPerformance); UpdateScorecardItemEntities(db, bu.SecurityConfig, KPIScorecardItemType.Security); } // OperationalIncident configuration var operationalIncident = configuration.OperationalIncident; if (operationalIncident != null) { UpdateValueEntities(db, operationalIncident.ImpactConfig); UpdateValueEntities(db, operationalIncident.ReportedToGORMConfig); UpdateValueEntities(db, operationalIncident.RootCauseConfig); UpdateValueEntities(db, operationalIncident.SourceConfig); UpdateValueEntities(db, operationalIncident.StatusConfig); } // PrivacyIncident configuration var privacyIncident = configuration.PrivacyIncident; if (privacyIncident != null) { UpdateValueEntities(db, privacyIncident.MigrationCodeConfig); UpdateValueEntities(db, privacyIncident.RootCauseConfig); UpdateValueEntities(db, privacyIncident.StatusConfig); UpdateValueEntities(db, privacyIncident.TypeConfig); } }, "saving KPI Scorecard configuration", parameters: configuration, saveChanges: true); }