public IntvBaseVm(AdminLevel a, int typeId, ICalcIndicators c) { adminLevel = a; r = new IntvRepository(); model = r.CreateIntv(typeId); model.AdminLevelId = adminLevel.Id; calc = c; }
public List<ReportIndicator> GetIntvIndicators() { List<ReportIndicator> indicators = new List<ReportIndicator>(); IntvRepository repo = new IntvRepository(); var types = repo.GetAllTypes(); var pc = new ReportIndicator { Name = TranslationLookup.GetValue("PcNtds"), IsCategory = true }; var cm = new ReportIndicator { Name = TranslationLookup.GetValue("OtherNtds"), IsCategory = true }; indicators.Add(pc); indicators.Add(cm); foreach (var t in types.Where(i => i.DiseaseType == TranslationLookup.GetValue("PC")).OrderBy(t => t.IntvTypeName)) { var cat = new ReportIndicator { Name = t.IntvTypeName, IsCategory = true }; var instance = repo.CreateIntv(t.Id); foreach (var i in instance.IntvType.Indicators) cat.Children.Add(CreateReportIndicator(t.Id, i, t.IntvTypeName, t.DisplayNameKey)); cat.Children = cat.Children.OrderBy(c => c.Name).ToList(); pc.Children.Add(cat); } foreach (var t in types.Where(i => i.DiseaseType == TranslationLookup.GetValue("CM")).OrderBy(t => t.IntvTypeName)) { var cat = new ReportIndicator { Name = t.IntvTypeName, IsCategory = true }; var instance = repo.CreateIntv(t.Id); foreach (var i in instance.IntvType.Indicators) cat.Children.Add(CreateReportIndicator(t.Id, i, t.IntvTypeName, t.DisplayNameKey)); cat.Children = cat.Children.OrderBy(c => c.Name).ToList(); cm.Children.Add(cat); } return indicators; }