Esempio n. 1
0
        public static QuestionDefinition[] BuildQuestions()
        {
            QuestionDefinition[] questions = new QuestionDefinition[4];
            Array.Copy(Utility.Shuffle(m_Definitions), questions, 4);

            return(questions);
        }
Esempio n. 2
0
        private ActionResult AddOrEdit(QuestionViewModel questionViewModel, int?quizId, bool edit)
        {
            var quiz = this.Db.QuizzesDefinitions.Find(quizId);

            if (quiz == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            if (this.ModelState.IsValid)
            {
                for (var i = 0; i < questionViewModel.Answers.Count; i++)
                {
                    questionViewModel.Answers[i].IsCorrect = false;
                }

                questionViewModel.Answers[questionViewModel.CorrectAnswerId].IsCorrect = true;

                if (edit)
                {
                    this.Db.QuestionsDefinitions.Delete(questionViewModel.Id);
                }

                var newQuestion = new QuestionDefinition();

                this.MapFromModel(questionViewModel, newQuestion);
                newQuestion.QuizDefinition = quiz;

                this.Db.QuestionsDefinitions.Add(newQuestion);
                this.Db.SaveChanges();
                return(this.RedirectToAction("Index", new { quizId = quizId }));
            }

            return(this.View("AddEdit", questionViewModel));
        }
Esempio n. 3
0
        public static QuestionDefinition[] BuildQuestions()
        {
            QuestionDefinition[] questions = new QuestionDefinition[4];
            Array.Copy( Utility.Shuffle( m_Definitions ), questions, 4 );

            return questions;
        }
Esempio n. 4
0
        private void MapFromModel(QuestionViewModel questionViewModel, QuestionDefinition newQuestion)
        {
            newQuestion.QuestionText = questionViewModel.QuestionText;
            for (var i = 0; i < questionViewModel.Answers.Count; i++)
            {
                var item = questionViewModel.Answers[i];

                var answ = new AnswerDefinition()
                {
                    Text               = item.Text,
                    Position           = i,
                    QuestionDefinition = newQuestion,
                    IsCorrect          = item.IsCorrect
                };

                this.Db.AnswerDefinitions.Add(answ);
            }
        }
 public async Task AddQuestionAsync(QuestionDefinition question)
 {
     Create(question.DeepCopyTo <Entities.QuestionDefinition>());
 }
 public async Task UpdateQuestionAsync(QuestionDefinition question)
 {
     Upsert(question.DeepCopyTo <Entities.QuestionDefinition>());
 }