示例#1
0
        public void AddStudentResultMogels()
        {
            foreach (var testSession in testSessions)
            {
                StudentResultModel studentResultModel = new StudentResultModel();
                studentResultModel.TestName  = client.GetTestName(testSession.TestId);
                studentResultModel.StartTime = testSession.StartTime;
                studentResultModel.EndTime   = testSession.EndTime;
                List <DTOAnswer> answers = client.GetAnswersForTestSession(testSession.TestSessionId).ToList();
                studentResultModel.QuestionCount = answers.Count;
                answers = answers.Where(x => x.AnswerCorrects == true).ToList();
                studentResultModel.CountCorrectAnswers   = answers.Count;
                studentResultModel.CountInCorrectAnswers = studentResultModel.QuestionCount - studentResultModel.CountCorrectAnswers;
                foreach (var item in answers)
                {
                    studentResultModel.CountScores += questions.FirstOrDefault(q => q.Id == item.QuestionId).QuestionCountScores;
                }
                studentResultModels.Add(studentResultModel);
            }

            if (studentResultModels.Count != 0)
            {
                resultsGrid.ItemsSource = studentResultModels;
            }
        }
        public void AddTestSessions(int testId)
        {
            questions    = client.GetQuestionsWithoutParams();
            students     = client.GetStudents();
            testSessions = client.GetTestSessionsForSomeTest(testId);
            foreach (var testSession in testSessions)
            {
                AnswerModel answerModel = new AnswerModel();
                answerModel.TestSessionId = testSession.TestSessionId;
                answerModel.Name          = students.FirstOrDefault(x => x.StudentId == testSession.StudentId).Name;
                answerModel.SurName       = students.FirstOrDefault(x => x.StudentId == testSession.StudentId).SurName;
                answerModel.GroupName     = students.FirstOrDefault(x => x.StudentId == testSession.StudentId).GroupName;
                List <DTOAnswer> answers = client.GetAnswersForTestSession(testSession.TestSessionId).ToList();
                answerModel.QuestionCount = answers.Count;
                answers = answers.Where(x => x.AnswerCorrects == true).ToList();
                answerModel.CountCorrectAnswers   = answers.Count;
                answerModel.CountInCorrectAnswers = answerModel.QuestionCount - answerModel.CountCorrectAnswers;
                foreach (var item in answers)
                {
                    answerModel.CountScores += questions.FirstOrDefault(q => q.Id == item.QuestionId).QuestionCountScores;
                }
                answerModels.Add(answerModel);
            }

            if (answerModels.Count != 0)
            {
                testsSessionsGrid.ItemsSource = answerModels;
            }
        }