Exemple #1
0
        public async Task <IActionResult> OnPostGiveAnswerAsync(FormGiveAnswer form)
        {
            if (SessionHasExpired)
            {
                return(Redirect("/"));
            }

            var callback = await _servStudents.CalculateAnswerAsync(form);

            await GetStudentMainCardView(true, new PartialNotification
            {
                IsSuccess       = callback.IsSuccess,
                SessionUserName = _session.User.Name,
                NotifyMessage   = callback.Reason
            });

            return(Page());
        }
Exemple #2
0
        public async Task <InterlayerCallback> CalculateAnswerAsync(FormGiveAnswer form)
        {
            var question = await _servItems.GetQuestionAsync(form.QuestionId);

            bool isSuccessful = question.CorrectAnswer.Contains(form.ChekedAnswer);

            await _context.UpdateAnswerAsync(new DtoAnswer
            {
                Id           = form.AnswerId,
                QuestionId   = form.QuestionId,
                TryCount     = form.CurrentTryCount,
                IsSuccessful = isSuccessful,
                State        = form.CurrentTryCount == 0 || isSuccessful ? CLOSED : ISSUED
            });

            return(new InterlayerCallback
            {
                IsSuccess = isSuccessful,
                Reason = isSuccessful ? "Гарна спроба, ви впоралися з питанням"
                    : $"Невдача. У вас залишилося спроб: {form.CurrentTryCount}"
            });
        }