/
Motlokhov
/
ASKYZ
Обзор
Документация
Войти
/
Motlokhov
/
ASKYZ
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
SystemVerifyKnowledge.CoreLib/Model/GrandExerciseSet.cs
50 строк
2 KB
Mikhail Motlokhov
Add method IsAnswerCorrect
18 апр 2021, 19:02
18 апр 2021, 19:02
d40e7af
Код
Авторство
О чём код?
using System.Linq; using SystemVerifyKnowledge.Common.Interface; using SystemVerifyKnowledge.CoreLib.Common; namespace SystemVerifyKnowledge.CoreLib.Model { public class GrandExerciseSet : ExerciseSet { public GrandExerciseSet(IQueryResult queryResult, ulong programGroupID) : base(queryResult, ExerciseSetType.Grand, programGroupID) { Name = "Итоговая аттестация"; foreach( Exercise exercise in Exercises ) { exercise.DeleteQuestions(); exercise.Result = new Result(QueryResult); } } public override bool IsNextQuestionAvailable(ulong[] answersIds) { //[todo] Метод частично врет, что он также манипулирует TrueAnswers byte points = QueryResult.LoadSumPoints(answersIds); Exercise.Result.Points += points; if(Exercise.IsAnswerCorrect(points)) Exercise.Result.TrueAnswers += 1; return true; } public override void TestEnd() { foreach( Exercise exercise in Exercises ) { int countQuestions = exercise.Questions.Count; exercise.Result.CalculateFalseAnswers(countQuestions); } SaveResults(); base.TestEnd(); } private void SaveResults() { QueryResult.WriteTestResults (Core.User.Id, Core.ProgramGroupID, Exercises.Select(e => ((int)e.Type,e.Result.Points,e.Result.TrueAnswers,e.Result.FalseAnswers)).ToArray()); } } }