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; } }