Пример #1
0
        //returns questions grouped by student name and subject
        public async Task <List <QuestionGroup> > GetGroupedQuestionsForTeacher(string userName)
        {
            List <Question> questions = await _context.Question.Where(q => q.TeacherName.Equals(userName)).ToListAsync();

            var groupedQuestions =
                questions.Where(q => q.TeacherName.Equals(userName)).GroupBy(q =>
                                                                             new { q.StudentName, q.SubjectTitle });

            List <QuestionGroup> questionGroups = new List <QuestionGroup>();

            foreach (var group in groupedQuestions)
            {
                QuestionGroupKey questionGroupKey = new QuestionGroupKey {
                    SubjectTitle = group.Key.SubjectTitle, Name = group.Key.StudentName
                };
                List <Question> questionGroupQuestions = new List <Question>();

                foreach (var item in group)
                {
                    questionGroupQuestions.Add(item);
                }

                questionGroups.Add(new QuestionGroup {
                    Key = DecryptGroupedQuestionsKey(questionGroupKey), Questions = questionGroupQuestions
                });
            }

            return(questionGroups);
        }
Пример #2
0
        private QuestionGroupKey DecryptGroupedQuestionsKey(QuestionGroupKey questionGroupKey)
        {
            QuestionGroupKey decrypted = questionGroupKey;

            decrypted.Name = Encryptor.Decrypt(decrypted.Name);
            return(decrypted);
        }