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

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

            var data = studyGroups
                       .Where(x => x != null)
                       .Select(studyGroup =>
            {
                return(new StudyGroupData
                {
                    Id = IdResolver.Resolve(studyGroup),
                    Name = NameResolver.Resolve(studyGroup),
                    Type = studyGroup.Type == StudyGroupType.Course ? "course" : "grade",
                    Grades = studyGroup.Grades.Select(grade => grade.Name).ToList(),
                });
            })
                       .ToList();

            return(await iccImporter.ImportStudyGroupsAsync(data));
        }