public IList <ClassDetails> GetClassesSortedByPeriod() { IList <ClassDetails> classes; int?teacherId = null; int?studentId = null; if (Context.RoleId == CoreRoles.TEACHER_ROLE.Id) { teacherId = Context.PersonId; classes = GetTeacherClasses(Context.SchoolYearId.Value, Context.PersonId.Value); } else if (Context.RoleId == CoreRoles.STUDENT_ROLE.Id) { studentId = Context.PersonId; classes = GetStudentClasses(Context.SchoolYearId.Value, Context.PersonId.Value); } else { throw new NotImplementedException(); } var schedule = ServiceLocator.ClassPeriodService.GetSchedule(teacherId, studentId, null, Context.NowSchoolYearTime.Date, Context.NowSchoolYearTime.Date).OrderBy(x => x.PeriodOrder); var res = new List <ClassDetails>(); foreach (var classPeriod in schedule) { var c = classes.FirstOrDefault(x => x.Id == classPeriod.ClassId); if (c != null && res.All(x => x.Id != c.Id)) { res.Add(c); } } classes = classes.Where(x => res.All(y => y.Id != x.Id)).OrderBy(x => x.Name).ToList(); var l = res.Concat(classes); var classDetailses = l as IList <ClassDetails> ?? l.ToList(); foreach (var cls in classDetailses) { cls.ClassTeachers = ClassTeacherStorage.GetClassTeachers(cls.Id, null); } return(classDetailses.ToList()); }
public IList <ClassDetails> GetTeacherClasses(int schoolYearId, int teacherId, int?markingPeriodId = null) { var res = new List <ClassDetails>(); var classes = ClassStorage.GetAll(); var classteachers = ClassTeacherStorage.GetAll(); foreach (var @class in classes) { if (@class.SchoolYearRef != schoolYearId) { continue; } if (classteachers.Any(x => x.ClassRef == @class.Id && x.PersonRef == teacherId)) { var cd = GetClassDetailsById(@class.Id); if (!markingPeriodId.HasValue || cd.MarkingPeriodClasses.Any(x => x.MarkingPeriodRef == markingPeriodId.Value)) { res.Add(cd); } } } return(res); }
public bool ClassTeacherExists(int classRef, int userId) { return(ClassTeacherStorage.Exists(classRef, userId)); }
public IList <ClassTeacher> GetClassTeachers(int?classId, int?teacherId) { return(ClassTeacherStorage.GetClassTeachers(classId, teacherId)); }
public void DeleteTeachers(IList <ClassTeacher> classTeachers) { ClassTeacherStorage.Delete(classTeachers); }
public void EditTeachers(IList <ClassTeacher> classTeachers) { ClassTeacherStorage.Update(classTeachers); }
public void AddTeachers(IList <ClassTeacher> classTeachers) { ClassTeacherStorage.Add(classTeachers); }