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()); }
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}" }); }