示例#1
0
        public async Task <Dictionary <int, int> > GetQuizForLectureAlailability(int disciplineId)
        {
            var studentId = AccountCredentials.GetStudentId();

            return(await(from itp in _context.IndividualQuizPasseds
                         where !itp.IsPassed && itp.StudentId == studentId && itp.DisciplineId == disciplineId
                         select new { itp.LectureId, itp.Id }).ToDictionaryAsync(td => td.LectureId, td => td.Id));
        }
        public async Task <IEnumerable <DiscLectorCumulativeCheckViewModel> > StudentsDisciplinesList()
        {
            var studentId = AccountCredentials.GetStudentId();
            List <DiscLectorCumulativeCheckViewModel> model =
                await(from d in _db.Disciplines
                      join sd in _db.StudentDisciplines on d.Id equals sd.DisciplineId
                      where sd.StudentId == studentId
                      join cq in _db.CumulativeQuizPasseds on sd.DisciplineId equals cq.DisciplineId into cqsjoin
                      from cqs in cqsjoin.DefaultIfEmpty()
                      where cqs.StudentId == studentId || cqs == null
                      join ld in _db.LectorDisciplines on d.Id equals ld.DisciplineId
                      join l in _db.Lectors on ld.LectorId equals l.Id into lectjoin
                      select new DiscLectorCumulativeCheckViewModel()
            {
                DiscId           = d.Id,
                DiscName         = d.Name,
                Lectors          = lectjoin,
                CumulativeQuizId = cqs.IsPassed != true && cqs != null ? cqs.Id : (int?)null
            }).ToListAsync();

            return(model);
        }