public List <TeacherClassDateResponse> GetTeacherClassDates(DateTime beginDate, DateTime endDate)
        {
            TeacherTimetableService service =
                new TeacherTimetableService(base.SchoolId, base.CurrentUser.UserId);

            return(service.GetTeacherClassDates(beginDate, endDate));
        }
        public ClassStudentLessonResponse GetClassStudentLessons(long classId, LessonType lessonType, DateTime classDate)
        {
            TeacherTimetableService service =
                new TeacherTimetableService(base.SchoolId, base.CurrentUser.UserId);

            return(service.GetClassStudentLessons(classId, lessonType, classDate, base.CurrentUser.UserId));
        }
        public List <ClassLessonResponse> GetClassLessons(DateTime classDate)
        {
            TeacherTimetableService service =
                new TeacherTimetableService(base.SchoolId, base.CurrentUser.UserId);

            return(service.GetClassLessons(classDate));
        }
        public List <TeacherClassTimetableResponse> GetTeacherClassTimetable([FromQuery] TeacherClassTimetableRequest request)
        {
            var service = new TeacherTimetableService(base.SchoolId, request.TeacherId);
            var teacherTimetableList = service.GetTeacherClassTimetable(request);

            return(teacherTimetableList);
        }
        public List <ClassTimetableGeneratorResponse> GetClassTimetableGeneratorList(long classId, DateTime classDate)
        {
            TeacherTimetableService service = new TeacherTimetableService(base.SchoolId, base.CurrentUser.UserId);

            return(service.GetClassTimetableGeneratorList(classId, classDate));
        }
        public StudentReplenishLessonsResponse GetStudentReplenishLessons(long studentId, long lessonId)
        {
            TeacherTimetableService service = new TeacherTimetableService(base.SchoolId, base.CurrentUser.UserId);

            return(service.GetStudentReplenishLessons(studentId, lessonId));
        }
        public void CancelAttendReplenish(long lessonId)
        {
            TeacherTimetableService service = new TeacherTimetableService(base.SchoolId, base.CurrentUser.UserId);

            service.CancelAttendReplenish(lessonId);
        }
        public StudentScanCodeAttendResponse ScanCodeAttend(StudentScanCodeAttendRequest request)
        {
            TeacherTimetableService service = new TeacherTimetableService(base.SchoolId, base.CurrentUser.UserId);

            return(service.ScanCodeAttend(request));
        }