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;
            }
        }
示例#2
0
 public StudentResults(ClientObject _cl)
 {
     InitializeComponent();
     client = _cl;
     studentResultModels = new List <StudentResultModel>();
     testSessions        = client.GetTestSessionsForSomeStudent();
     questions           = client.GetQuestionsWithoutParams();
     this.AddStudentResultMogels();
 }