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); } }