public static List <EcfTemporalExpression> GetEcfTemporalExpressions(this UntisLesson lesson, UntisLessonTime lessonTime, UntisGeneralSettings generalSettings)
        {
            var temporalExpressions = new List <EcfTemporalExpression>();

            if (lesson.Occurence != null)
            {
                foreach (var date in lesson.GetDateInstances(generalSettings.SchoolYearBeginDate, lessonTime.Day))
                {
                    temporalExpressions.Add(new EcfOneTimeExpression()
                    {
                        Operation      = EcfTemporalExpressionOperation.Include,
                        StartTimepoint = new DateTimeOffset(date).AddMinutes(lessonTime.StartTime.TotalMinutes),
                        EndTimepoint   = new DateTimeOffset(date).AddMinutes(lessonTime.SlotGroupEndTime == null ? lessonTime.EndTime.TotalMinutes : ((TimeSpan)lessonTime.SlotGroupEndTime).TotalMinutes)
                    });
                }
            }
            else
            {
                temporalExpressions.Add(new EcfWeeklyTimePeriodExpression()
                {
                    Operation      = EcfTemporalExpressionOperation.Include,
                    StartTimepoint = new DateTimeOffset((DateTime)lesson.StartDate).AddMinutes(lessonTime.StartTime.TotalMinutes),
                    EndTimepoint   = new DateTimeOffset((DateTime)lesson.EndDate).AddMinutes(lessonTime.SlotGroupEndTime == null ? lessonTime.EndTime.TotalMinutes : ((TimeSpan)lessonTime.SlotGroupEndTime).TotalMinutes),
                    DaysOfWeek     = lessonTime.GetEcfDaysOfWeek(),
                    WeeksInterval  = 1,
                    ValidFrom      = lesson.ValidFrom,
                    ValidTo        = lesson.ValidTo
                });
            }

            return(temporalExpressions);
        }
 public static uint GetGroupId(this UntisLesson lesson)
 {
     if ((lesson.ShortName != null) && (lesson.ShortName.Length > 2))
     {
         return(uint.Parse(lesson.ShortName.Remove(lesson.ShortName.Length - 2)));
     }
     else
     {
         throw new Exception("Error");
     }
 }
        public static List <string> GetEcfTeacherIdList(this UntisLesson lesson)
        {
            var idList = new List <string>();

            if (!string.IsNullOrEmpty(lesson.TeacherId))
            {
                idList.Add(lesson.TeacherId);
            }

            return(idList);
        }
        public static string GetEcfCourseTitle(this UntisLesson lesson, List <UntisSubject> subjects)
        {
            var subject = subjects.Find(x => x.Id == lesson.SubjectId);

            if (subject != null)
            {
                return(subject.ShortName);
            }
            else
            {
                return(null);
            }
        }