private IQueryable <Class> Apply(IQueryable <Class> classes, ClassSearchEntity classSearchEntity) { if (classSearchEntity.ClassCode != null) { classes = classes.Where(c => c.ClassCode == classSearchEntity.ClassCode); } if (classSearchEntity.LecturerId != Guid.Empty) { classes = classes.Where(c => c.LecturerId == classSearchEntity.LecturerId); } if (classSearchEntity.VersionId != Guid.Empty) { classes = classes.Where(c => c.VersionSurveyId == classSearchEntity.VersionId); } if (classSearchEntity.Subject != null) { classes = classes.Where(c => c.Subject.Contains(classSearchEntity.Subject) || classSearchEntity.Subject.Contains(c.Subject)); } if (classSearchEntity.Semester != null) { classes = classes.Where(c => c.Semester.Equals(classSearchEntity.Semester)); } if (classSearchEntity.OpenedDate.HasValue && classSearchEntity.OpenedDate.Value != DateTime.MinValue) { classes = classes.Where(c => c.OpenedDate.Value.CompareTo(DateTime.Now) == -1); } if (classSearchEntity.ClosedDate.HasValue && classSearchEntity.ClosedDate.Value != DateTime.MinValue) { classes = classes.Where(c => c.ClosedDate.Value.CompareTo(DateTime.Now) == -1); } return(classes); }
public int Count(UserEntity userEntity, ClassSearchEntity classSearchEntity) { if (classSearchEntity == null) { classSearchEntity = new ClassSearchEntity(); } IQueryable <Class> classes = context.Classes; classes = Apply(classes, classSearchEntity); return(classes.Count()); }
public List <ClassEntity> List(UserEntity userEntity, ClassSearchEntity classSearchEntity) { if (classSearchEntity == null) { classSearchEntity = new ClassSearchEntity(); } IQueryable <Class> classes = context.Classes.Include(s => s.StudentClasses).ThenInclude(sc => sc.Student) .Include(s => s.VersionSurvey).Include(c => c.Lecturer); classes = Apply(classes, classSearchEntity); return(classes.Select(c => new ClassEntity(c, c.VersionSurvey, c.StudentClasses, c.Lecturer)).ToList()); }
public List <ClassEntity> List(ClassSearchEntity classSearchEntity) { return(ClassService.List(UserEntity, classSearchEntity)); }
public int Count(ClassSearchEntity classSearchEntity) { return(ClassService.Count(UserEntity, classSearchEntity)); }