Beispiel #1
0
        /// <summary>
        /// Count of related projects
        /// </summary>
        /// <param name="programId"></param>
        /// <returns></returns>
        public SnapshotDTO GetProgramRelatedProjectsCount(List <int> programIds)
        {
            var dto = SnapshotQueries.CreateGetProgramRelatedProjectsCountQuery(Context, programIds);

            return(dto);
        }
        public void TestCreateGetProgramRelatedProjectsCountQuery()
        {
            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,
                Status          = status,
                ProjectStatusId = status.ProjectStatusId,
                EndDate         = endDate
            };

            var project1 = new Project
            {
                ProjectId       = 2,
                ParentProgram   = program,
                Status          = status,
                ProjectStatusId = status.ProjectStatusId,
                EndDate         = endDate
            };

            var project2 = new Project
            {
                ProjectId       = 3,
                ParentProgram   = program,
                Status          = status,
                ProjectStatusId = status.ProjectStatusId,
                EndDate         = endDate
            };

            var project3 = new Project
            {
                ProjectId       = 4,
                ParentProgram   = program,
                Status          = status,
                ProjectStatusId = status.ProjectStatusId,
                EndDate         = endDate
            };

            program.Projects.Add(project);
            program.Projects.Add(project1);
            program.Projects.Add(project2);
            program.Projects.Add(project3);

            project.RelatedProjects.Add(project1);
            project.RelatedProjects.Add(project2);
            project.RelatedProjects.Add(project3);

            context.Programs.Add(program);
            context.Projects.Add(project1);
            context.Projects.Add(project2);
            context.Projects.Add(project3);
            context.Projects.Add(project);

            List <int> programIds = new List <int>();

            programIds.Add(program.ProgramId);

            var results = SnapshotQueries.CreateGetProgramRelatedProjectsCountQuery(context, programIds);

            Assert.AreEqual(3, results.DataValue);
        }