public static IEnumerable <LessonTime> AttendedLessonList(this RegisterLesson item, bool onlyAttended = false) { if (onlyAttended) { return(item.GroupingLesson.LessonTime.Where(l => l.LessonAttendance != null)); } else { return(item.GroupingLesson.LessonTime); } }
public static String LessonLearner(this RegisterLesson lesson, String separator = "/") { if (lesson.GroupingMemberCount > 1) { return(String.Join(separator, lesson.GroupingLesson.RegisterLesson.Select(s => s.UserProfile).ToArray().Select(m => m.FullName()))); } else { return(lesson.UserProfile.FullName()); } }
public static int RemainedLessonCount(this RegisterLesson item, bool onlyAttended = false) { //return item.Lessons // - item.GroupingLesson.LessonTime.Count(/*l=>l.LessonAttendance!= null*/); if (onlyAttended) { return(item.Lessons - (item.AttendedLessons ?? 0) - (item.RegisterGroupID.HasValue ? item.GroupingLesson.LessonTime.Count(l => l.LessonAttendance != null) : item.LessonTime.Count(l => l.LessonAttendance != null))); } else { return(item.Lessons - (item.AttendedLessons ?? 0) - (item.RegisterGroupID.HasValue ? item.GroupingLesson.LessonTime.Count : item.LessonTime.Count)); } }
public static int AttendedLessonCount(this RegisterLesson item, DateTime dateBefore, bool onlyAttended = false) { if (onlyAttended) { return((item.AttendedLessons ?? 0) + (item.RegisterGroupID.HasValue ? item.GroupingLesson.LessonTime.Count(l => l.LessonAttendance != null && l.ClassTime < dateBefore) : item.LessonTime.Count(l => l.LessonAttendance != null && l.ClassTime < dateBefore))); } else { return((item.AttendedLessons ?? 0) + (item.RegisterGroupID.HasValue ? item.GroupingLesson.LessonTime.Count(l => l.ClassTime < dateBefore) : item.LessonTime.Count(l => l.ClassTime < dateBefore))); } }
public static int AttendedLessonCount(this RegisterLesson item, bool onlyAttended = false) { if (onlyAttended) { return((item.AttendedLessons ?? 0) + (item.RegisterGroupID.HasValue ? item.GroupingLesson.LessonTime.Count(l => l.LessonAttendance != null) : item.LessonTime.Count(l => l.LessonAttendance != null))); } else { return((item.AttendedLessons ?? 0) + (item.RegisterGroupID.HasValue ? item.GroupingLesson.LessonTime.Count : item.LessonTime.Count)); } }