コード例 #1
0
        public ActionResult Create([Bind(Include = "ID,Name,Date,Course,NumberOfQuestions,Rating,Progress")] Quiz quiz)
        {
            if (ModelState.IsValid)
            {
                db.Quizzes.Add(quiz);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(quiz));
        }
コード例 #2
0
 public ActionResult Register([Bind(Include = "Username,Password,FirstName,LastName")] User userIn, string ReturnUrl = "~/Home/Index")
 {
     if (User.Identity.IsAuthenticated)
     {
         FormsAuthentication.RedirectFromLoginPage(User.Identity.Name, false);
     }
     if (ModelState.IsValid)
     {
         //This has been already done by the
         User user = (from u in db.Users
                      where u.Username.Equals(userIn.Username)
                      select u).FirstOrDefault <User>();
         if (user == null)
         {
             db.Users.Add(userIn);
             db.SaveChanges();
             FormsAuthentication.RedirectFromLoginPage(userIn.Username, false);
         }
         else
         {
             ModelState.AddModelError("", "User already exists");
         }
     }
     ViewBag.ReturnUrl = ReturnUrl;
     return(View());
 }
コード例 #3
0
        public void PunkteEintragen()
        {
            Player player = new Player();

            player.playerNAME   = name;
            player.playerPUNKTE = score;
            ctx.Player.Add(player);
            ctx.SaveChanges();
        }
コード例 #4
0
ファイル: QuizController.cs プロジェクト: plicios/Test
        public ActionResult Post([FromBody] QuestionDto questionDto)
        {
            if (questionDto == null || questionDto.Answers == null || questionDto.Answers.Count <= 0 || string.IsNullOrEmpty(questionDto.Content))
            {
                return(BadRequest());
            }

            foreach (AnswerDto answer in questionDto.Answers)
            {
                if (string.IsNullOrEmpty(answer.Content))
                {
                    return(BadRequest());
                }
            }

            using (QuizDBContext quizDbContext = new QuizDBContext())
            {
                int      newQuestionId = quizDbContext.Question.Max(q => q.Id) + 1;
                Question question      = questionDto.Question;
                question.Id = newQuestionId;

                ICollection <QuestionAnswer> questionAnswers = question.QuestionAnswer;

                question.QuestionAnswer = new List <QuestionAnswer>();

                quizDbContext.Question.Add(question);



                int newQuestionAnswerId = quizDbContext.QuestionAnswer.Max(q => q.Id) + 1;
                int newAnswerId         = quizDbContext.Answer.Max(q => q.Id) + 1;

                foreach (QuestionAnswer questionAnswer in questionAnswers)
                {
                    questionAnswer.Id = newQuestionAnswerId;

                    Answer answer = questionAnswer.Answer;
                    answer.Id = newAnswerId;

                    questionAnswer.Answer     = null;
                    questionAnswer.AnswerId   = answer.Id;
                    questionAnswer.QuestionId = question.Id;
                    quizDbContext.Answer.Add(answer);

                    quizDbContext.QuestionAnswer.Add(questionAnswer);

                    newQuestionAnswerId++;
                    newAnswerId++;
                }

                quizDbContext.SaveChanges();
            }

            return(Ok());
        }
コード例 #5
0
        public ActionResult SubmitForm(QuestionResult[] questionsResults)
        {
            List <Question> questions = (from questionResult in questionsResults
                                         join question in db.Questions on questionResult.QuestionId equals question.ID
                                         select question).ToList();

            if (!ModelState.IsValid)
            {
                ModelState.AddModelError("", "All questions should be answered");
                return(View("Quiz", questions));
            }
            else
            {
                List <Answer> rightAnswers = (from result in questionsResults
                                              join question in db.Questions on result.QuestionId equals question.ID
                                              where result.Selected == question.right_option
                                              select new Answer
                {
                    Questions_ID = question.ID,
                    Username = User.Identity.Name,
                    Correct_Answer = false
                }).ToList();
                //We can already define the wrong answers and display them
                List <Answer> wrongAnswers = (from result in questionsResults
                                              join question in db.Questions on result.QuestionId equals question.ID
                                              where result.Selected != question.right_option
                                              select new Answer
                {
                    Questions_ID = question.ID,
                    Username = User.Identity.Name,
                    Correct_Answer = false
                }).ToList();

                db.Answers.AddRange(rightAnswers);
                db.Answers.AddRange(wrongAnswers);
                db.SaveChanges();

                ViewBag.QuestionResuslts = questionsResults;
                ViewBag.Score            = rightAnswers.Count + "/" + questionsResults.Length;
                return(View("QuizResults", questions));
            }
        }
コード例 #6
0
        public void AddQuestion()
        {
            //First add the Question, than add the results
            Questions question = new Questions();

            question.questionTEXT = this.qText;
            ctx.Questions.Add(question);
            ctx.SaveChanges();
            int qID = ctx.Questions.Where(x => x.questionTEXT.Equals(this.qText)).FirstOrDefault().qID;

            results.AddAnswers(qID);
        }
コード例 #7
0
ファイル: qResults.cs プロジェクト: jerome-1998/Quiz-Game
        //Add the Results
        public void AddAnswers(int qID)
        {
            Results   newResults = new Results();
            Questions q          = ctx.Questions.Where(x => x.qID.Equals(qID)).FirstOrDefault();

            newResults.Questions   = q;
            newResults.trueRESULT  = this.results["resultTrue"];
            newResults.resultONE   = this.results["resultOne"];
            newResults.relultTWO   = this.results["resultTwo"];
            newResults.resultTHREE = this.results["resultThree"];
            ctx.Results.Add(newResults);
            ctx.SaveChanges();
        }
コード例 #8
0
        public ActionResult GenerateQuestions()
        {
            using (QuizDBContext quizDbContext = new QuizDBContext())
            {
                int newQuestionId       = quizDbContext.Question.Count() != 0 ? quizDbContext.Question.Max(q => q.Id) + 1 : 0;
                int newAnswerId         = quizDbContext.Answer.Count() != 0 ? quizDbContext.Answer.Max(q => q.Id) + 1 : 0;
                int newQuestionAnswerId = quizDbContext.QuestionAnswer.Count() != 0 ? quizDbContext.QuestionAnswer.Max(q => q.Id) + 1 : 0;
                for (int i = 0; i < 20; i++)
                {
                    Question question = new Question()
                    {
                        Content    = $"Pytanie nr {i}",
                        Id         = newQuestionId + i,
                        CategoryId = 0,
                        Difficulty = i % 3
                    };

                    quizDbContext.Question.Add(question);

                    for (int j = 0; j < 3; j++)
                    {
                        Answer answer = new Answer()
                        {
                            Id      = newAnswerId + i * 3 + j,
                            Content = $"Odpowiedź {j}"
                        };

                        QuestionAnswer questionAnswer = new QuestionAnswer()
                        {
                            Id         = newQuestionAnswerId + i * 3 + j,
                            IsCorrect  = j == 0,
                            QuestionId = question.Id,
                            AnswerId   = answer.Id
                        };

                        quizDbContext.Answer.Add(answer);
                        quizDbContext.QuestionAnswer.Add(questionAnswer);
                    }
                }

                quizDbContext.SaveChanges();
            }

            return(Ok());
        }
コード例 #9
0
        public ActionResult Post([FromBody] Category category)
        {
            if (category == null)
            {
                return(BadRequest("category is null"));
            }
            else if (string.IsNullOrEmpty(category.Name))
            {
                return(BadRequest("category name is null"));
            }


            using (QuizDBContext quizDbContext = new QuizDBContext())
            {
                category.Id = quizDbContext.Category.Max(q => q.Id) + 1;
                quizDbContext.Category.Add(category);

                quizDbContext.SaveChanges();
            }

            return(Ok());
        }
コード例 #10
0
 public int _Save()
 {
     return(_context.SaveChanges());
 }
コード例 #11
0
        public ActionResult Post([FromBody] QuestionDto questionDto)
        {
            if (questionDto == null)
            {
                return(BadRequest("question is null"));
            }

            if (questionDto.Answers == null)
            {
                return(BadRequest("answers are null"));
            }

            if (questionDto.Answers.Count <= 0)
            {
                return(BadRequest("answers count is 0"));
            }

            if (string.IsNullOrEmpty(questionDto.Content))
            {
                return(BadRequest("question has no content"));
            }

            foreach (AnswerDto answer in questionDto.Answers)
            {
                if (string.IsNullOrEmpty(answer.Content))
                {
                    return(BadRequest("answer has no content"));
                }
            }

            using (QuizDBContext quizDbContext = new QuizDBContext())
            {
                int      newQuestionId = quizDbContext.Question.Max(q => q.Id) + 1;
                Question question      = questionDto.Question;
                question.Id = newQuestionId;

                ICollection <QuestionAnswer> questionAnswers = question.QuestionAnswer;

                question.QuestionAnswer = new List <QuestionAnswer>();

                question.CategoryId = 0;

                quizDbContext.Question.Add(question);



                int newQuestionAnswerId;
                if (quizDbContext.QuestionAnswer.Count() != 0)
                {
                    newQuestionAnswerId = quizDbContext.QuestionAnswer.Max(q => q.Id) + 1;
                }
                else
                {
                    newQuestionAnswerId = 0;
                }

                int newAnswerId;
                if (quizDbContext.Answer.Count() != 0)
                {
                    newAnswerId = quizDbContext.Answer.Max(q => q.Id) + 1;
                }
                else
                {
                    newAnswerId = 0;
                }

                foreach (QuestionAnswer questionAnswer in questionAnswers)
                {
                    questionAnswer.Id = newQuestionAnswerId;

                    Answer answer = questionAnswer.Answer;
                    answer.Id = newAnswerId;

                    questionAnswer.Answer     = null;
                    questionAnswer.AnswerId   = answer.Id;
                    questionAnswer.QuestionId = question.Id;
                    quizDbContext.Answer.Add(answer);

                    quizDbContext.QuestionAnswer.Add(questionAnswer);

                    newQuestionAnswerId++;
                    newAnswerId++;
                }

                quizDbContext.SaveChanges();
            }

            return(Ok());
        }