예제 #1
0
        public IActionResult Add(IEnumerable <int> questions)
        {
            //Todo : add to all applicable teamanswers
            var answers = _context.Questions.Where(e => questions.Any(q => q == e.QuestionID));
            var teams   = _context.Teams;

            var teamAnswers = new List <TeamAnswers>();

            foreach (var team in teams)
            {
                foreach (var answer in answers)
                {
                    var teamAnswer = new TeamAnswers(answer, team);
                    if (!_context.TeamAnswers.Contains(teamAnswer))
                    {
                        teamAnswers.Add(teamAnswer);
                    }
                }
            }

            _context.TeamAnswers.AddRange(teamAnswers);
            _context.SaveChanges();

            return(RedirectToAction("Index"));
        }
예제 #2
0
        public ActionResult Create(Question quest)
        {
            if (ModelState.IsValid)
            {
                _questionDbContext.dbSet.Add(quest);
                _questionDbContext.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(quest));
        }
예제 #3
0
        public ActionResult Create(Question q, string textShortAnswer, string TrueFalse, string textA, bool boolA, string textB, bool boolB, string textC, bool boolC, string textD, bool boolD)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (q.Format == Format.TrueFalse)
                    {
                        q.Answers.Add(new Answer()
                        {
                            Text = TrueFalse, Correct = true
                        });
                    }
                    if (q.Format == Format.ShortAnswer)
                    {
                        q.Answers.Add(new Answer()
                        {
                            Text = textShortAnswer, Correct = true
                        });
                    }
                    if (q.Format == Format.MultipleChoice)
                    {
                        q.Answers.Add(new Answer()
                        {
                            Text = textA, Correct = boolA
                        });
                        q.Answers.Add(new Answer()
                        {
                            Text = textB, Correct = boolB
                        });
                        q.Answers.Add(new Answer()
                        {
                            Text = textC, Correct = boolC
                        });
                        q.Answers.Add(new Answer()
                        {
                            Text = textD, Correct = boolD
                        });
                    }
                    _context.Questions.Add(q);
                    _context.SaveChanges();
                    return(RedirectToAction(nameof(Index)));
                }
            }catch (Exception e)
            {
                ModelState.AddModelError("", e.Message);
            }

            return(View());
        }
예제 #4
0
        public JsonResult SetTranlation(Question questionModel, string strategy)
        {
            var question = _db.Questions.SingleOrDefault(q => q.Id == questionModel.id);

            if (question != null)
            {
                question.EnglishText = questionModel.englishText.Replace("\n", "\r\n");
                question.RussianText = questionModel.russianText.Replace("\n", "\r\n");
            }
            var answers = new List <Answer>();

            foreach (var a in questionModel.answers)
            {
                var answer = _db.Answers.SingleOrDefault(x => x.id == a.id);
                if (answer != null)
                {
                    answer.englishText = a.englishText;
                    answer.russianText = a.russianText;
                }
                answers.Add(answer);
            }
            _db.SaveChanges();

            return(new JsonResult
            {
                Data = GetNextQuestion(questionModel.id, strategy),
                ContentEncoding = Encoding.UTF8,
                ContentType = "application/json",
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            });
        }
예제 #5
0
        public IActionResult Index(TeamAnswers answers)
        {
            var correct = _context.Answer
                          .Where(e => e.QuestionID == answers.QuestionID && e.Correct)
                          .FirstOrDefault();

            if (answers.Answer.Equals(correct.Text))
            {
                answers.Correct = true;
            }
            else
            {
                answers.Correct = false;
            }

            _context.TeamAnswers.Update(answers);
            _context.SaveChanges();
            return(RedirectToAction("Index"));
        }