Beispiel #1
0
        public async Task <EnrolementAnswer> CreateEnrolementAnswer(EnrolementAnswer enrolementAnswer)
        {
            EntityEntry <EnrolementAnswer> result = await _context.EnrolementAnswers.AddAsync(enrolementAnswer);

            _context.SaveChanges();
            if (result != null)
            {
                return(result.Entity);
            }
            return(null);
        }
        public async Task <SubmitTestCommandResult> Handle(SubmitTestCommand request, CancellationToken cancellationToken)
        {
            Enrolement enr = new Enrolement();

            enr.StudentId = request.UserId.Value;
            enr.TestId    = request.Test.TestId;
            enr.Completed = true;
            Enrolement enrolement = await _enrolementRepository.CreateEnrolement(enr);


            foreach (SubmitTestQuestion q in request.Test.Questions)
            {
                if (q.SelectedAnswers?.Count > 0)
                {
                    foreach (SubmitTestAnswer a in q.SelectedAnswers)
                    {
                        EnrolementAnswer enrAnsw = new EnrolementAnswer();
                        enrAnsw.EnrolementId = enrolement.EnrolementId;
                        enrAnsw.QuestionId   = q.QuestionId;
                        enrAnsw.AnswerId     = a.AnswerId;
                        await _enrolementAnswerRepository.CreateEnrolementAnswer(enrAnsw);
                    }
                }
                else
                {
                    EnrolementAnswer enrAnsw = new EnrolementAnswer();
                    enrAnsw.EnrolementId = enrolement.EnrolementId;
                    enrAnsw.QuestionId   = q.QuestionId;
                    enrAnsw.Skipped      = true;
                    await _enrolementAnswerRepository.CreateEnrolementAnswer(enrAnsw);
                }
            }

            return(new SubmitTestCommandResult
            {
                EnrolementId = enrolement.EnrolementId,
                Success = true,
            });
        }
 protected async void saveAnsweredQuestion(StudentGetOneTestQueryResult.Question q, int enrolementId)
 {
     if (q.SelectedAnswers?.Count > 0)
     {
         foreach (StudentGetOneTestQueryResult.Answer a in q.SelectedAnswers)
         {
             EnrolementAnswer enrAnsw = new EnrolementAnswer();
             enrAnsw.EnrolementId = enrolementId;
             enrAnsw.QuestionId   = q.QuestionId;
             enrAnsw.AnswerId     = a.AnswerId;
             await _enrolementAnswerRepository.CreateEnrolementAnswer(enrAnsw);
         }
     }
     else
     {
         EnrolementAnswer enrAnsw = new EnrolementAnswer();
         enrAnsw.EnrolementId = enrolementId;
         enrAnsw.QuestionId   = q.QuestionId;
         enrAnsw.Skipped      = true;
         await _enrolementAnswerRepository.CreateEnrolementAnswer(enrAnsw);
     }
 }