コード例 #1
0
 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);
     }
 }
コード例 #2
0
 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());
     }
 }
コード例 #3
0
 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));
     }
 }
コード例 #4
0
 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)));
     }
 }
コード例 #5
0
 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));
     }
 }