public async Task <RealTimeStatisticsViewModel> GetRealTimeStatisticsViewModel(Lector lector) { var realTimeStatistics = await( from mh in _context.ModuleHistories where mh.StartTime != null && mh.IsPassed == false && mh.LectorId == lector.Id join lh in _context.LecturesHistories on mh.LectureHistoryId equals lh.Id join m in _context.Modules on mh.ModuleId equals m.Id join q in _context.Questions on m.Id equals q.ModuleId into qjoin join sd in _context.StudentDisciplines on lh.DisciplineId equals sd.DisciplineId into sdjoin select new RealTimeStatisticsViewModel { LecturesHistory = lh, Module = m, ModuleHistory = mh, Questions = qjoin, StudentIds = sdjoin.Select(s => s.StudentId) }).SingleOrDefaultAsync(); var timer = TimerAssociates.GetTimer(realTimeStatistics.ModuleHistory.Id, TimerAssociates.TimerType.Realtime) ?? _timerAssociates.StartTimer(realTimeStatistics.ModuleHistory.Id, TimeSpan.FromMinutes(realTimeStatistics.Module.MinutesToPass), TimerAssociates.TimerType.Realtime); realTimeStatistics.Lector = lector; realTimeStatistics.TimeFinish = timer.ModuleFinish.ToLocalTime().ToString("yyyy-MM-ddTHH:mm:ss"); realTimeStatistics.Groups = await(from g in _context.Groups join lhg in _context.LectureHistoryGroups on g.Id equals lhg.GroupId where lhg.LectureHistoryId == realTimeStatistics.LecturesHistory.Id select g).ToListAsync(); return(realTimeStatistics); }
public LectureHistoryHelper(testingDbEntities context) { _db = context; _timerAssociates = new TimerAssociates(context); _quizManager = new QuizManager(context); }
public QuizManager(testingDbEntities context) { _context = context; _studentPageHelper = new StudentPageHelper(context); _timerAssociates = new TimerAssociates(context); }
public QuizController(ITestingDbEntityService context) : base(context) { _quizManager = new QuizManager(Context); _timerAssociates = new TimerAssociates(Context); }