private static string GenerateAboutData(PatControl control) { var label = new[] { "Last Batch Run", "Last Compliance Run", "Project Completion", "Compliance Indicator", "Projects", "Uploads/Samples", "Review Count" }; var data = new[] { AppHelper.ShortDateAndTime(control.LastBatchRun), AppHelper.ShortDateAndTime(control.LastComplianceRun), AppHelper.FormatPercentage(control.ProjectCompletion), AppHelper.FormatDecimal(control.TotalComplianceIndicator), AppHelper.FormatInteger(control.ProjectCount), AppHelper.FormatInteger(control.SampleCount), AppHelper.FormatInteger(control.ReviewCount) }; var html = AppHelper.TableFromArray(label, data, "System Details", showEmpty: false); return(html); }
/// <summary> /// Updates the Control record /// </summary> /// <param name="entity">The entity.</param> public void Update(PatControl entity) { var patControl = entity; Debug.Assert(patControl != null, "control != null"); using (var connection = new SqlConnection(DbConnection)) { using (var command = new SqlCommand("PaControlUpdate", connection)) { var sqlParams = new List <SqlParameter>(); SqlHelper.AddReturnPara("@return_value", sqlParams); if (patControl.ControlId > 0) { SqlHelper.AddIntPara(patControl.ControlId, "@Id", sqlParams); } SqlHelper.AddIntPara(patControl.ProjectCount, "@ProjectCount", sqlParams); SqlHelper.AddIntPara(patControl.SampleCount, "@SampleCount", sqlParams); SqlHelper.AddIntPara(patControl.ReviewCount, "@ReviewCount", sqlParams); SqlHelper.AddDecimalPara(patControl.ProjectCompletion, 3, "@ProjectCompletion", sqlParams); SqlHelper.AddDecimalPara(patControl.TotalComplianceIndicator, 3, "@TotalComplianceIndicator", sqlParams); SqlHelper.AddBitPara(patControl.SystemAvailable, "@SystemAvailable", sqlParams); if (patControl.LastBatchRun != new DateTime(1, 1, 1)) { SqlHelper.AddDatePara(patControl.LastBatchRun, "@LastBatchRun", sqlParams); } if (patControl.LastComplianceRun != new DateTime(1, 1, 1)) { SqlHelper.AddDatePara(patControl.LastComplianceRun, "@LastComplianceRun", sqlParams); } SqlHelper.AddVarcharPara(patControl.UpdatedBy, "@UpdatedBy", sqlParams); command.CommandType = CommandType.StoredProcedure; command.Parameters.AddRange(sqlParams.ToArray()); connection.Open(); command.ExecuteNonQuery(); } } }
private static void AddControlToList(ICollection <PatControl> list, IDataRecord rdr) { var record = new PatControl { ControlId = (int)rdr["ControlId"], SystemAvailable = rdr["SystemAvailable"] as bool? ?? default(bool), ProjectCount = (int)rdr["ProjectCount"], SampleCount = (int)rdr["SampleCount"], ReviewCount = (int)rdr["ReviewCount"], ProjectCompletion = rdr["ProjectCompletion"] as decimal? ?? default(decimal), TotalComplianceIndicator = rdr["TotalComplianceIndicator"] as decimal? ?? default(decimal), LastBatchRun = rdr["LastBatchRun"] as DateTime? ?? default(DateTime), LastComplianceRun = rdr["LastComplianceRun"] as DateTime? ?? default(DateTime) }; list.Add(record); }
private static void BatchUpdateReviewOutcomes(IPatService patService , string how , PatControl control) { var lastBatchRun = control.LastBatchRun; string auditMsg; string why; if (ReadyToGenerateAgain(lastBatchRun, how, out why)) { var stopwatch = new Stopwatch(); stopwatch.Start(); var vm = new BuroViewModel(); var buro = new BuroProcess(); vm = buro.Execute(vm , patService.GetUploadRepository() , patService.GetQuestionaireRepository() , patService.GetAuditService() , patService.GetReviewRepository() ); control.LastBatchRun = DateTime.Now; control.UpdatedBy = BatchUser; var timeElapsed = AppHelper.StopTheWatch(stopwatch); auditMsg = string.Format("BURO complete: {0} Reviews checked; {1} updated {3} errors in {2}", vm.ReviewsRead, vm.ReviewsUpdated, timeElapsed, vm.ValidationErrors); } else { auditMsg = string.Format("BURO skipped for now ({1}): last Run {0}", lastBatchRun, why); } patService.SaveActivity(CreateAuditRecord(auditMsg, "BURO")); }
private static void UpdateComplianceIndicators(IPatService patService, string how, PatControl control) { var lastComplianceRun = control.LastComplianceRun; string auditMsg; string why; if (ReadyToGenerateAgain(lastComplianceRun, how, out why)) { var stopwatch = new Stopwatch(); stopwatch.Start(); var ciViewModel = new ComplianceIndicatorsViewModel(); // Options currently required by PAM var cigen = new ComplianceIndicators(); ciViewModel = cigen.Generate(ciViewModel); control.LastComplianceRun = DateTime.Now; control.UpdatedBy = BatchUser; control.ReviewCount = ciViewModel.ReviewsRead; control.ProjectCount = ciViewModel.ProjectsRead; control.ProjectCompletion = AppHelper.Percent(ciViewModel.CompletedProjects, ciViewModel.ProjectsRead); control.SampleCount = ciViewModel.SamplesRead; control.TotalComplianceIndicator = AppHelper.Average(ciViewModel.TotalCompliancePoints, ciViewModel.ReviewsRead); var timeElapsed = AppHelper.StopTheWatch(stopwatch); auditMsg = string.Format("CI Generation complete: {0} indicators generated in {1}", ciViewModel.IndicatorsGenerated, timeElapsed); } else { auditMsg = string.Format("CI Generation skipped ({1}) for now: last Run {0}", lastComplianceRun, why); } patService.SaveActivity(CreateAuditRecord(auditMsg, "CIGEN")); }