public ActionResult DeleteConfirmed(int id)
        {
            DualDatabaseTestSchemeQuestion dualDatabaseTestSchemeQuestion = db.DualDatabaseTestSchemeQuestionDataBase.Find(id);

            db.DualDatabaseTestSchemeQuestionDataBase.Remove(dualDatabaseTestSchemeQuestion);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "ID,QuestionDescription,MultipleChoiceCorrect,MultipleChoiceB,MultipleChoiceC,MultipleChoiceD,Answerexplanation,GroupingId")] DualDatabaseTestSchemeQuestion dualDatabaseTestSchemeQuestion)
 {
     if (ModelState.IsValid)
     {
         db.Entry(dualDatabaseTestSchemeQuestion).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(dualDatabaseTestSchemeQuestion));
 }
        public ActionResult Create([Bind(Include = "ID,QuestionDescription,MultipleChoiceCorrect,MultipleChoiceB,MultipleChoiceC,MultipleChoiceD,Answerexplanation")] DualDatabaseTestSchemeQuestion dualDatabaseTestSchemeQuestion)
        {
            if (ModelState.IsValid)
            {
                db.DualDatabaseTestSchemeQuestionDataBase.Add(dualDatabaseTestSchemeQuestion);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(dualDatabaseTestSchemeQuestion));
        }
        // GET: DualDatabaseTestSchemeQuestions/Edit/5

        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            DualDatabaseTestSchemeQuestion dualDatabaseTestSchemeQuestion = db.DualDatabaseTestSchemeQuestionDataBase.Find(id);

            if (dualDatabaseTestSchemeQuestion == null)
            {
                return(HttpNotFound());
            }
            return(View(dualDatabaseTestSchemeQuestion));
        }
        public ActionResult AddNewQuestionAction(string id, string question, string answer, string optionb, string optionc, string optiond)
        {
            DualDatabaseTestSchemeQuestion newQuestion = new DualDatabaseTestSchemeQuestion();

            int newID = 0;

            Int32.TryParse(id, out newID);

            newQuestion.GroupingId            = newID;
            newQuestion.QuestionDescription   = question; //+ " :  ID = " + newID;
            newQuestion.MultipleChoiceCorrect = answer;
            newQuestion.MultipleChoiceB       = optionb;
            newQuestion.MultipleChoiceC       = optionc;
            newQuestion.MultipleChoiceD       = optiond;

            db.DualDatabaseTestSchemeQuestionDataBase.Add(newQuestion);
            db.SaveChanges();

            //pass id to add another question view
            TempData["id"] = id;

            return(RedirectToAction("AddAnotherQuestion"));
        }
        //prints 10 questions with randmozed elements to a page.
        public ActionResult TestPDF(int?id, string title)
        {
            var questions = from m in db.DualDatabaseTestSchemeQuestionDataBase
                            select m;

            if (id != null)
            {
                questions = questions.Where(s => s.GroupingId == id);
            }

            //list to contain all filtered questions.
            var tempQuestionlist = new List <DualDatabaseTestSchemeQuestion>();

            tempQuestionlist = questions.ToList <DualDatabaseTestSchemeQuestion>();
            //list containing 10 fully scrambled questions.
            var UpdatedtempQuestionlist = new List <DualDatabaseTestSchemeQuestion>();
            int count = tempQuestionlist.Count();

            //scramble questions and add them to updated list 10 times (10 questions total).
            for (int m = 0; m < 10; m++)
            {
                //create new instance of objects
                DualDatabaseTestSchemeQuestion randomquestion = new DualDatabaseTestSchemeQuestion();
                DualDatabaseTestSchemeQuestion tempquestion   = new DualDatabaseTestSchemeQuestion();

                //choose a random question from questionlist
                int randomizeanswers;
                int choose = random.Next(0, count);
                randomquestion = tempQuestionlist[choose];


                List <string> scrambledanswers = new List <string>();
                scrambledanswers.Add(randomquestion.MultipleChoiceCorrect);
                scrambledanswers.Add(randomquestion.MultipleChoiceB);
                scrambledanswers.Add(randomquestion.MultipleChoiceC);
                scrambledanswers.Add(randomquestion.MultipleChoiceD);

                //assignanswervalues scrambled to tempquestion from random question.
                tempquestion.QuestionDescription = randomquestion.QuestionDescription;
                //for pdf version there is no answer authentication. Position does not correspond to
                //correctness
                //positionA
                randomizeanswers = randomroll.Next(0, 3);
                tempquestion.MultipleChoiceCorrect = scrambledanswers[randomizeanswers];
                scrambledanswers.RemoveAt(randomizeanswers);
                //positionB
                randomizeanswers             = randomroll.Next(0, 2);
                tempquestion.MultipleChoiceB = scrambledanswers[randomizeanswers];
                scrambledanswers.RemoveAt(randomizeanswers);
                //positionC
                randomizeanswers             = randomroll.Next(0, 1);
                tempquestion.MultipleChoiceC = scrambledanswers[randomizeanswers];
                scrambledanswers.RemoveAt(randomizeanswers);
                //positionD
                tempquestion.MultipleChoiceD = scrambledanswers[0];

                //add modified question to list
                UpdatedtempQuestionlist.Add(tempquestion);
                //repeat 10 times
            }

            TempData["UpdatedtempQuestionlist"] = UpdatedtempQuestionlist;
            TempData["title"] = title;
            //return modifed list
            return(RedirectToAction("ShowPDF", "Quizbank"));
        }
Exemplo n.º 7
0
        public ActionResult CustomTest()
        {
            /*steps
             * does not require id since it using data from globals.
             * 1. input values from one randomly selected item from globals (or tempdata) into viewbags or else return the model.
             * ill try model.
             * 2. redirect to self and update globals (or tempdata).
             * */

            //attempting to remove globals using tempdata, because globals not compatible with multiple users.
            var tempQuestionlist = new List <DualDatabaseTestSchemeQuestion>();

            tempQuestionlist = TempData["tempQuestionlist"] as List <DualDatabaseTestSchemeQuestion>;
            //must save data in tempdata again so that it can be used in refresh. leaves on artifact at the end of each test.
            TempData["tempQuestionlist"] = tempQuestionlist;
            int count = tempQuestionlist.Count();


            //choose a random question from questionlist
            int choose = random.Next(0, count);
            DualDatabaseTestSchemeQuestion randomquestion = new DualDatabaseTestSchemeQuestion();

            randomquestion = tempQuestionlist[choose];

            //removing more globals; question authentication.
            double questionscorrect = (double)TempData["questionscorrect"];
            double questionswrong   = (double)TempData["questionswrong"];
            int    questioncount    = (int)TempData["questioncount"];

            //assign tempdata to variables for cshtml
            ViewBag.amountcorrect = questionscorrect;
            ViewBag.amountwrong   = questionswrong;
            ViewBag.count         = questioncount;
            //reassignment to tempdata as it has been lost by calling it.
            TempData["questionscorrect"] = questionscorrect;
            TempData["questionswrong"]   = questionswrong;
            TempData["questioncount"]    = questioncount;

            //scramble arrangement of answers for chosen question but keep track of which is correct.
            ViewBag.correctincorrectstatusa = "incorrect";
            ViewBag.correctincorrectstatusb = "incorrect";
            ViewBag.correctincorrectstatusc = "incorrect";
            ViewBag.correctincorrectstatusd = "incorrect";

            List <string> scrambledanswers = new List <string>();

            scrambledanswers.Add(randomquestion.MultipleChoiceCorrect);
            scrambledanswers.Add(randomquestion.MultipleChoiceB);
            scrambledanswers.Add(randomquestion.MultipleChoiceC);
            scrambledanswers.Add(randomquestion.MultipleChoiceD);

            //assignanswervalues to random position

            int randomizeanswers;

            //positionA
            randomizeanswers = randomroll.Next(0, 3);
            ViewBag.A        = scrambledanswers[randomizeanswers];
            if (scrambledanswers[randomizeanswers] == randomquestion.MultipleChoiceCorrect)
            {
                ViewBag.correctincorrectstatusa = "correct";
            }
            scrambledanswers.RemoveAt(randomizeanswers);

            //positionB
            randomizeanswers = randomroll.Next(0, 2);
            ViewBag.B        = scrambledanswers[randomizeanswers];
            if (scrambledanswers[randomizeanswers] == randomquestion.MultipleChoiceCorrect)
            {
                ViewBag.correctincorrectstatusb = "correct";
            }
            scrambledanswers.RemoveAt(randomizeanswers);

            //positionC
            randomizeanswers = randomroll.Next(0, 1);
            ViewBag.C        = scrambledanswers[randomizeanswers];
            if (scrambledanswers[randomizeanswers] == randomquestion.MultipleChoiceCorrect)
            {
                ViewBag.correctincorrectstatusc = "correct";
            }
            scrambledanswers.RemoveAt(randomizeanswers);

            //positionD
            ViewBag.D = scrambledanswers[0];
            if (scrambledanswers[0] == randomquestion.MultipleChoiceCorrect)
            {
                ViewBag.correctincorrectstatusd = "correct";
            }

            //assign chosen question to review list and push it forward
            var reviewlist = TempData["reviewlist"] as List <DualDatabaseTestSchemeQuestion>;

            reviewlist.Add(randomquestion);
            TempData["reviewlist"] = reviewlist;


            return(View(randomquestion));
        }