/// <summary> /// Count of prominence /// </summary> /// <param name="programId"></param> /// <returns></returns> public SnapshotDTO GetProgramProminenceCount(List <int> programIds) { var query = SnapshotQueries.CreateGetProgramProminenceCountQuery(Context, programIds); var catIds = query.Select(x => x).Distinct().Count(); return(new SnapshotDTO() { DataLabel = "PROMINENCE", DataValue = catIds }); }
public void TestCreateGetProgramProminenceCountQuery() { var active = new ProgramStatus { ProgramStatusId = ProgramStatus.Active.Id, Status = ProgramStatus.Active.Value }; var status = new ProjectStatus { ProjectStatusId = 1, Status = "status" }; var endDate = DateTime.UtcNow; var org = new Organization { OrganizationId = 1, OfficeSymbol = "ABCDE" }; var program = new Program { ProgramId = 1, Owner = org, OwnerId = org.OrganizationId, ProgramStatus = active, ProgramStatusId = active.ProgramStatusId }; var project = new Project { ProjectId = 1, ParentProgram = program, ProgramId = program.ProgramId, Status = status, ProjectStatusId = status.ProjectStatusId, EndDate = endDate }; List <Program> programs = new List <Program>(); programs.Add(program); List <Project> projects = new List <Project>(); projects.Add(project); var category1 = new Category { CategoryId = 1, CategoryName = "Cat1", Programs = programs, Projects = projects }; var category2 = new Category { CategoryId = 2, CategoryName = "Cat1", Programs = programs, Projects = projects }; var category3 = new Category { CategoryId = 3, CategoryName = "Cat1", Programs = programs, Projects = projects }; var category4 = new Category { CategoryId = 4, CategoryName = "Cat2", Programs = programs, Projects = projects }; program.Projects.Add(project); project.Categories.Add(category1); project.Categories.Add(category2); project.Categories.Add(category3); project.Categories.Add(category4); context.Programs.Add(program); context.Projects.Add(project); context.Categories.Add(category1); context.Categories.Add(category2); context.Categories.Add(category3); context.Categories.Add(category4); List <int> programIds = new List <int>(); programIds.Add(program.ProgramId); List <int> query = SnapshotQueries.CreateGetProgramProminenceCountQuery(context, programIds).ToList(); var catIds = query.Select(x => x).Distinct().Count(); Assert.AreEqual(4, catIds); }