public async Task <bool> InsertAnswerAsync(AnswerSubmission answer, string userId)
        {
            answer.IsCorrect = false;

            var user = await _context.Users.SingleOrDefaultAsync(x => x.Id == userId);

            if (user == null)
            {
                return(false);
            }

            if (user.Answers.Any(x => x.MatchId == answer.MatchId))
            {
                return(false);
            }

            var match = await _context.Games.FindAsync(answer.MatchId);

            if (match == null)
            {
                return(false);
            }

            if (match.Teams.Single(x => x.Winner).TeamId == answer.WinningTeamId)
            {
                answer.IsCorrect = true;
            }

            user.Answers.Add(answer);
            await _context.SaveChangesAsync();

            return(true);
        }
        public AnswerSubmission Create(AnswerSubmission submission)
        {
            _context.AnswerSubmissions.Add(submission);
            _context.SaveChanges();

            return(submission);
        }
        public async Task <IHttpActionResult> SubmitAnswer([FromBody] AnswerSubmission answer)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(string.Join("\n", ModelState.Values.Select(x => x.Errors))));
            }

            if (await _gameRepository.InsertAnswerAsync(answer, new RiotContext().Users.First().Id)) // TODO: Authorization & Authentication
            {
                return(Ok(answer.IsCorrect));
            }

            return(BadRequest());
        }
Esempio n. 4
0
        public IActionResult Create([FromBody] AnswerSubmission questionOption)
        {
            if (questionOption == null)
            {
                return(BadRequest(new { message = "Bad request" }));
            }

            try
            {
                _answerSubmissionService.Create(questionOption);
                return(Ok());
            }
            catch (Exception ex)
            {
                // return error message if there was an exception
                return(BadRequest(new { message = ex.Message }));
            }
        }
Esempio n. 5
0
        public ActionResult PostAnswer([FromBody] AnswerSubmission req)
        {
            var     answerls = req.AnswerList;
            Concept cpt      = _context.Concept.Where(c => c.Uid == req.Cuid).FirstOrDefault <Concept>();

            foreach (var obj in answerls)
            {
                if (obj != null)
                {
                    IdeationAnswers ans = new IdeationAnswers
                    {
                        Uid    = Guid.NewGuid().ToString(),
                        Cid    = cpt.Id,
                        Qid    = Array.IndexOf(answerls, obj),
                        Answer = obj
                    };

                    _context.IdeationAnswers.Add(ans);
                }
            }
            _context.SaveChanges();

            return(Ok(new { message = "Success!" }));
        }