Exemple #1
0
        public async Task <IResponse> ImportStudyGroupMembershipsAsync(IEnumerable <Student> currentStudents, short year, short section)
        {
            var studyGroups = await schildExporter.GetStudyGroupsAsync(currentStudents, year, section).ConfigureAwait(false);

            var membershipData = new List <StudyGroupMembershipData>();

            if (OnlyVisibleEntities)
            {
                studyGroups = studyGroups.RemoveInvisibleGrades().Where(x => x.Grades.Count > 0).ToList();
            }

            foreach (var studyGroup in studyGroups)
            {
                foreach (var membership in studyGroup.Memberships)
                {
                    membershipData.Add(new StudyGroupMembershipData
                    {
                        StudyGroup = IdResolver.Resolve(studyGroup),
                        Student    = membership.Student.Id.ToString(),
                        Type       = membership.Type
                    });
                }
            }

            return(await iccImporter.ImportStudyGroupMembershipsAsync(membershipData));
        }