Exemple #1
0
        public async Task <IResponse> ImportGradeTeachersAsync()
        {
            logger.LogDebug("Hole Klassen aus Schild...");
            var grades = await schildExporter.GetGradesAsync().ConfigureAwait(false);

            var data = new List <GradeTeacherData>();

            logger.LogDebug($"{grades.Count} Klasse(n) geladen.");

            if (OnlyVisibleEntities)
            {
                logger.LogDebug("Ausgeblendete Klassen entfernen.");
                grades = grades.WhereIsVisible().ToList();
            }

            foreach (var grade in grades)
            {
                if (grade.Teacher != null)
                {
                    data.Add(new GradeTeacherData
                    {
                        Grade   = grade.Name,
                        Teacher = grade.Teacher.Acronym,
                        Type    = "primary"
                    });
                }

                if (grade.SubstituteTeacher != null)
                {
                    data.Add(new GradeTeacherData
                    {
                        Grade   = grade.Name,
                        Teacher = grade.SubstituteTeacher.Acronym,
                        Type    = GradesWithoutSubstituteTeachers.Contains(grade.Name) ? "primary": "substitute"
                    });
                }
            }

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