public void Select(int id) { DemoRepository repo = new DemoRepository(); AdminLevel level = repo.GetAdminLevelById(id); Select(level); }
private void SaveMatch(TaskForceAdminUnit match, AdminLevel u, DemoRepository demo) { match.NadaId = u.Id; var adminLevel = demo.GetAdminLevelById(u.Id); adminLevel.TaskForceId = match.Id; adminLevel.TaskForceName = match.Name; demo.UpdateTaskForceData(adminLevel, ApplicationData.Instance.GetUserId()); }
public void CreateUpdateFile(string filename, List<IHaveDynamicIndicatorValues> forms) { ReloadDropdownValues(); LoadRelatedLists(); System.Globalization.CultureInfo oldCI = System.Threading.Thread.CurrentThread.CurrentCulture; System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); Microsoft.Office.Interop.Excel.Application xlsApp = new Microsoft.Office.Interop.Excel.ApplicationClass(); Microsoft.Office.Interop.Excel.Workbook xlsWorkbook; Microsoft.Office.Interop.Excel.Workbooks xlsWorkbooks; Microsoft.Office.Interop.Excel.Sheets xlsWorksheets; Microsoft.Office.Interop.Excel.Worksheet xlsWorksheet; Microsoft.Office.Interop.Excel.Worksheet xlsValidation; object oMissing = System.Reflection.Missing.Value; validationRanges = new Dictionary<string, string>(); //Create new workbook xlsWorkbooks = xlsApp.Workbooks; xlsWorkbook = xlsWorkbooks.Add(true); xlsWorksheets = xlsWorkbook.Worksheets; //Get the first worksheet xlsWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)(xlsWorkbook.Worksheets[1]); // add hidden validation worksheet xlsValidation = (Microsoft.Office.Interop.Excel.Worksheet)xlsWorksheets.Add(oMissing, xlsWorksheet, oMissing, oMissing); xlsValidation.Name = validationSheetName; xlsValidation.Visible = Microsoft.Office.Interop.Excel.XlSheetVisibility.xlSheetHidden; xlsWorksheet.Cells[1, 1] = "* " + TranslationLookup.GetValue("ID"); xlsWorksheet.Cells[1, 2] = "* " + TranslationLookup.GetValue("Location"); int locationCount = 2; int xlsColCount = 2; xlsColCount = AddTypeSpecific(xlsWorksheet, xlsColCount); int colCountAfterStatic = xlsColCount; foreach (var item in Indicators) { if (item.Value.DataTypeId == (int)IndicatorDataType.SentinelSite || item.Value.IsCalculated || item.Value.IsMetaData) continue; string isReq = ""; if (item.Value.IsRequired) isReq = "* "; xlsColCount++; xlsWorksheet.Cells[1, xlsColCount] = isReq + TranslationLookup.GetValue(item.Key, item.Key); } //xlsWorksheet.Cells[1, xlsColCount + 1] = TranslationLookup.GetValue("Notes"); // row 2+ admin levels DemoRepository repo = new DemoRepository(); int xlsRowCount = 2; foreach (var form in forms) { var adminLevel = repo.GetAdminLevelById(form.AdminLevelId.Value); xlsWorksheet.Cells[xlsRowCount, 1] = form.Id; xlsWorksheet.Cells[xlsRowCount, 2] = GetAdminLevelName(adminLevel, form); AddTypeSpecificLists(xlsWorksheet, xlsValidation, adminLevel.Id, xlsRowCount, oldCI, locationCount); AddTypeSpecificListValues(xlsWorksheet, xlsValidation, adminLevel.Id, xlsRowCount, oldCI, locationCount, form); int colCount = colCountAfterStatic; foreach (var key in Indicators.Keys) { if (Indicators[key].DataTypeId == (int)IndicatorDataType.SentinelSite || Indicators[key].IsCalculated || Indicators[key].IsMetaData) continue; string value = ""; var iv = form.IndicatorValues.FirstOrDefault(x => x.IndicatorId == Indicators[key].Id); if (iv != null) value = iv.DynamicValue; colCount++; colCount = AddValueToCell(xlsWorksheet, xlsValidation, colCount, xlsRowCount, value, Indicators[key], oldCI, true); } xlsRowCount++; } // Auto fit var last = xlsWorksheet.Cells.SpecialCells(Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeLastCell, Type.Missing); var range = xlsWorksheet.get_Range("A1", last); range.Columns.AutoFit(); // Save and display xlsApp.DisplayAlerts = false; xlsWorkbook.SaveAs(filename, Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook, oMissing, oMissing, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Microsoft.Office.Interop.Excel.XlSaveConflictResolution.xlUserResolution, true, oMissing, oMissing, oMissing); xlsApp.Visible = true; Marshal.ReleaseComObject(xlsWorksheets); Marshal.ReleaseComObject(xlsWorksheet); Marshal.ReleaseComObject(xlsValidation); Marshal.ReleaseComObject(xlsWorkbooks); Marshal.ReleaseComObject(xlsWorkbook); Marshal.ReleaseComObject(xlsApp); System.Threading.Thread.CurrentThread.CurrentCulture = oldCI; }
protected string GetRecentDistroIndicator(int adminLevelId, string indicatorName, DiseaseType diseaseType, DateTime start, DateTime end, ref string errors) { // If there is a RecentDistro instance, look for the value there RecentDistro recentDistro = RecentDistro.GetInstance(false /* don't instantiate */); if (recentDistro != null) { string storedVal = recentDistro.GetRecentDistroIndicator(adminLevelId, indicatorName, diseaseType, start, end, ref errors); if (storedVal != null) { return storedVal; } } AdminLevelIndicators levelInds = null; string key = adminLevelId + start.ToShortDateString() + end.ToShortDateString() + diseaseType.ToString(); if (distroDict.ContainsKey(key)) levelInds = distroDict[key]; else { ReportOptions options = new ReportOptions(); DistributionReportGenerator gen = new DistributionReportGenerator(); DiseaseRepository repo = new DiseaseRepository(); DemoRepository demo = new DemoRepository(); var disease = repo.GetDiseaseById((int)diseaseType); DiseaseDistroPc dd = repo.Create(diseaseType); if (diseaseType == DiseaseType.STH) { options.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)diseaseType, new KeyValuePair<string, Indicator>(indicatorName, new Indicator { Id = 141, DisplayName = "DDSTHPopulationRequiringPc" }))); options.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)diseaseType, new KeyValuePair<string, Indicator>(indicatorName, new Indicator { Id = 142, DisplayName = "DDSTHPsacAtRisk" }))); options.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)diseaseType, new KeyValuePair<string, Indicator>(indicatorName, new Indicator { Id = 143, DisplayName = "DDSTHSacAtRisk" }))); options.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)diseaseType, new KeyValuePair<string, Indicator>(indicatorName, new Indicator { Id = 140, DisplayName = "DDSTHPopulationAtRisk" }))); } else if (diseaseType == DiseaseType.Lf) { options.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)diseaseType, new KeyValuePair<string, Indicator>(indicatorName, new Indicator { Id = 98, DisplayName = "DDLFPopulationAtRisk" }))); options.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)diseaseType, new KeyValuePair<string, Indicator>(indicatorName, new Indicator { Id = 99, DisplayName = "DDLFPopulationRequiringPc" }))); } else if (diseaseType == DiseaseType.Oncho) { options.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)diseaseType, new KeyValuePair<string, Indicator>(indicatorName, new Indicator { Id = 111, DisplayName = "DDOnchoPopulationAtRisk" }))); options.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)diseaseType, new KeyValuePair<string, Indicator>(indicatorName, new Indicator { Id = 112, DisplayName = "DDOnchoPopulationRequiringPc" }))); } else if (diseaseType == DiseaseType.Schisto) { options.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)diseaseType, new KeyValuePair<string, Indicator>(indicatorName, new Indicator { Id = 125, DisplayName = "DDSchistoPopulationAtRisk" }))); options.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)diseaseType, new KeyValuePair<string, Indicator>(indicatorName, new Indicator { Id = 126, DisplayName = "DDSchistoPopulationRequiringPc" }))); options.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)diseaseType, new KeyValuePair<string, Indicator>(indicatorName, new Indicator { Id = 127, DisplayName = "DDSchistoSacAtRisk" }))); } else if (diseaseType == DiseaseType.Trachoma) options.SelectedIndicators.Add(ReportRepository.CreateReportIndicator((int)diseaseType, new KeyValuePair<string, Indicator>(indicatorName, new Indicator { Id = 161, DisplayName = "DDTraPopulationAtRisk" }))); options.StartDate = start; options.EndDate = end; options.MonthYearStarts = start.Month; var adminlevel = demo.GetAdminLevelById(adminLevelId); options.SelectedAdminLevels = new List<AdminLevel> { adminlevel }; options.IsNoAggregation = false; options.IsByLevelAggregation = true; options.IsAllLocations = false; levelInds = gen.GetRecentDiseaseDistribution(options); levelInds.StartDate = start; levelInds.EndDate = end; levelInds.DiseaseName = disease.DisplayName; } if (levelInds.Indicators.ContainsKey(indicatorName) ) { if(!string.IsNullOrEmpty(levelInds.Indicators[indicatorName].Value)) return levelInds.Indicators[indicatorName].Value.ToString(); else return ""; } string error = string.Format(Translations.ReportsNoDdInDateRange, levelInds.Name, start.ToShortDateString(), end.ToShortDateString(), levelInds.DiseaseName) + Environment.NewLine; if (!errors.Contains(error)) errors += error; return Translations.NA; }