public void Delete(DemoDetails details, int userId) { SettingsRepository settings = new SettingsRepository(); var type = settings.GetAdminLevelTypeByLevel(adminLevel.LevelNumber); demos.Delete(details, userId); if (type.IsAggregatingLevel) demos.AggregateUp(type, details.DateReported, userId, null, null); }
/// <summary> /// Runs the report with the report options and collects all the disease distribution calculation /// </summary> /// <param name="mainReportOptions">The report options</param> public void Run(ReportOptions mainReportOptions) { SettingsRepository settingsRepo = new SettingsRepository(); Report = new SavedReport(); DistributionReportGenerator gen = new DistributionReportGenerator(); Report.ReportOptions = new ReportOptions(); Report.ReportOptions.SelectedIndicators = new List<ReportIndicator>(); Report.ReportOptions.Years = Util.DeepClone(mainReportOptions.Years); Report.ReportOptions.SelectedAdminLevels = Util.DeepClone(mainReportOptions.SelectedAdminLevels); Report.ReportOptions.MonthYearStarts = 1; Report.ReportOptions.IsByLevelAggregation = true; Report.ReportOptions.IsCountryAggregation = false; Report.ReportOptions.IsNoAggregation = false; // Determine the name of the reporting admin level if (mainReportOptions.SelectedAdminLevels.Count > 0) { int levelNum = mainReportOptions.SelectedAdminLevels[0].LevelNumber; AdminLevelType adminLevelType = settingsRepo.GetAdminLevelTypeByLevel(levelNum); NameOfReportingAdminLevel = adminLevelType.DisplayName; } if (NameOfReportingAdminLevel == null) throw new ArgumentException("Could not determine reporting level"); // STH Report.ReportOptions.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)DiseaseType.STH, new KeyValuePair<string, Indicator>("DDSTHPopulationRequiringPc", new Indicator { Id = 141, DisplayName = "DDSTHPopulationRequiringPc" }))); Report.ReportOptions.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)DiseaseType.STH, new KeyValuePair<string, Indicator>("DDSTHPsacAtRisk", new Indicator { Id = 142, DisplayName = "DDSTHPsacAtRisk" }))); Report.ReportOptions.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)DiseaseType.STH, new KeyValuePair<string, Indicator>("DDSTHSacAtRisk", new Indicator { Id = 143, DisplayName = "DDSTHSacAtRisk" }))); Report.ReportOptions.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)DiseaseType.STH, new KeyValuePair<string, Indicator>("DDSTHPopulationAtRisk", new Indicator { Id = 140, DisplayName = "DDSTHPopulationAtRisk" }))); // LF Report.ReportOptions.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)DiseaseType.Lf, new KeyValuePair<string, Indicator>("DDLFPopulationAtRisk", new Indicator { Id = 98, DisplayName = "DDLFPopulationAtRisk" }))); Report.ReportOptions.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)DiseaseType.Lf, new KeyValuePair<string, Indicator>("DDLFPopulationRequiringPc", new Indicator { Id = 99, DisplayName = "DDLFPopulationRequiringPc" }))); // Oncho Report.ReportOptions.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)DiseaseType.Oncho, new KeyValuePair<string, Indicator>("DDOnchoPopulationAtRisk", new Indicator { Id = 111, DisplayName = "DDOnchoPopulationAtRisk" }))); Report.ReportOptions.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)DiseaseType.Oncho, new KeyValuePair<string, Indicator>("DDOnchoPopulationRequiringPc", new Indicator { Id = 112, DisplayName = "DDOnchoPopulationRequiringPc" }))); // Schisto Report.ReportOptions.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)DiseaseType.Schisto, new KeyValuePair<string, Indicator>("DDSchistoPopulationAtRisk", new Indicator { Id = 125, DisplayName = "DDSchistoPopulationAtRisk" }))); Report.ReportOptions.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)DiseaseType.Schisto, new KeyValuePair<string, Indicator>("DDSchistoPopulationRequiringPc", new Indicator { Id = 126, DisplayName = "DDSchistoPopulationRequiringPc" }))); Report.ReportOptions.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)DiseaseType.Schisto, new KeyValuePair<string, Indicator>("DDSchistoSacAtRisk", new Indicator { Id = 127, DisplayName = "DDSchistoSacAtRisk" }))); // Trachoma Report.ReportOptions.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)DiseaseType.Trachoma, new KeyValuePair<string, Indicator>("DDTraPopulationAtRisk", new Indicator { Id = 161, DisplayName = "DDTraPopulationAtRisk" }))); // Run the report Result = gen.Run(Report); }
/// <summary> /// SAVE Method /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void save_Click(object sender, EventArgs e) { if (!model.IsValid() || !customIndicatorControl1.IsValid()) { MessageBox.Show(Translations.ValidationError, Translations.ValidationErrorTitle); return; } bsDemo.EndEdit(); int userId = ApplicationData.Instance.GetUserId(); demo.Save(model, userId); SettingsRepository settings = new SettingsRepository(); var type = settings.GetAdminLevelTypeByLevel(adminLevel.LevelNumber); var country = demo.GetCountry(); if (type.IsAggregatingLevel) { demo.AggregateUp(type, model.DateDemographyData, userId, null, null); if (originalDate != DateTime.MinValue && Util.GetYearReported(1, originalDate) != Util.GetYearReported(1, model.DateDemographyData)) demo.AggregateUp(type, originalDate, userId, null, null); } OnClose(); }
void DemoWorker_DoWork(object sender, DoWorkEventArgs e) { try { var f = (IFetchActivities)e.Argument; var demo = f.GetDemography(); SettingsRepository repo = new SettingsRepository(); var adminType = repo.GetAdminLevelTypeByLevel(adminLevel.LevelNumber); bool canCrud = false; if (adminType != null) canCrud = adminType.IsDemographyAllowed; if (canCrud) { foreach (var d in demo) { d.CanViewEdit = true; d.CanDelete = true; } } e.Result = new DemoPayload { DemoList = demo, AllowAdd = canCrud }; } catch (Exception ex) { Logger log = new Logger(); log.Error("Error fetching dashboard demography. ", ex); throw; } }