Esempio n. 1
0
 public void PostGivedAnswers(IEnumerable <GivenAnswer> givenAnswers)
 {
     _questionManager.AddGivedAnswer(givenAnswers);
 }
Esempio n. 2
0
        public IActionResult Gameplay([FromForm]  int questionId, [FromForm] List <GivedAnswer> givedAnswerList)
        {
            GameplayViewModel vmodel = new GameplayViewModel();

            if (givedAnswerList != null)
            {
                if (_questionManager.IsItGoodAnswers(givedAnswerList))
                {
                    int?point;
                    point  = HttpContext.Session.GetInt32(SessionKeyPoints);
                    point += _questionManager.GetPoint(questionId);
                    HttpContext.Session.SetInt32(SessionKeyPoints, point ?? 0);
                    vmodel.Points = point ?? 0;
                }
                else
                {
                    vmodel.Points = HttpContext.Session.GetInt32(SessionKeyPoints) ?? 0;
                }

                foreach (var item in givedAnswerList)
                {
                    _questionManager.AddGivedAnswer(item);
                }
            }
            else
            {
                BadRequest();
            }

            string sessissonKeyIds = HttpContext.Session.GetString(SessionKeyIds);

            if (sessissonKeyIds == null || sessissonKeyIds.Equals(""))
            {
                ViewData["point"] = vmodel.Points;

                int?sessionsss = HttpContext.Session.GetInt32(SessionKeySession);

                _questionManager.AddPoint(
                    _questionManager.GetSessionById(HttpContext.Session.GetInt32(SessionKeySession) ?? 0),
                    vmodel.Points
                    );

                return(View("EndQuiz"));
            }

            string[] splitedIds = sessissonKeyIds.Split(' ');
            int      queryId    = Int32.Parse(splitedIds[0]);

            string ids = ConcatenateIds(splitedIds);

            HttpContext.Session.SetString(SessionKeyIds, ids);

            ViewData["theme"] = _questionManager.GetThemeNameByQuestionId(queryId);

            return(View("Gameplay", new GameplayViewModel()
            {
                Question = _questionManager.GetQuestionById(queryId),
                Ids = ids,
                SessionId = HttpContext.Session.GetInt32(SessionKeySession) ?? 0,
                Points = vmodel.Points
            }));
        }