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

            return(dto);
        }
        public void TestCreateGetProgramAlumniCountQuery()
        {
            var person = new Person
            {
                PersonId = 1
            };

            var person2 = new Person
            {
                PersonId = 2
            };

            var active = new ProgramStatus
            {
                ProgramStatusId = ProgramStatus.Active.Id,
                Status          = ProgramStatus.Active.Value
            };

            var status = new ProjectStatus
            {
                ProjectStatusId = 1,
                Status          = "status"
            };

            var alumni = new ParticipantStatus
            {
                ParticipantStatusId = ParticipantStatus.Alumnus.Id,
                Status = ParticipantStatus.Alumnus.Value
            };

            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 participant = new Participant
            {
                ParticipantId       = 1,
                Person              = person,
                PersonId            = person.PersonId,
                Project             = project,
                ProjectId           = project.ProjectId,
                ParticipantStatusId = alumni.ParticipantStatusId,
                StatusDate          = endDate
            };

            var participant2 = new Participant
            {
                ParticipantId       = 2,
                Person              = person2,
                PersonId            = person2.PersonId,
                Project             = project,
                ProjectId           = project.ProjectId,
                ParticipantStatusId = alumni.ParticipantStatusId,
                StatusDate          = endDate
            };

            project.Participants.Add(participant);
            project.Participants.Add(participant2);
            program.Projects.Add(project);

            context.Programs.Add(program);
            context.Projects.Add(project);
            context.Participants.Add(participant);
            context.Participants.Add(participant2);

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

            programIds.Add(program.ProgramId);

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

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