示例#1
0
        public ActionResult Edit(String quiz_Id)
        {
            // alle velden van een bepaalde quiz opvragen.
            // en de velden hiermee vullen.

            //**** TO DO //
            // hard coded omdat hij de waarde niet uit de url krijg
            //PlayableQuiz plquiz = new PlayableQuiz(int.Parse(quiz_Id));

            var hardId = 2;
            PlayableQuiz plquiz = new PlayableQuiz(hardId);

            ViewBag.name = plquiz.quiz.name;
            ViewBag.countRounds = plquiz.quiz.Rounds.Count;

            return View(plquiz);
        }
示例#2
0
        public ActionResult Index(String id)
        {
            // Op basis van wat er werd ingegeven achter Game/... wordt er een bepaalde quiz geselecteerd.
            // checken of de gebruiker al is ingelogd. Indien niet -> /login ->
            if (Session["userId"] == null)
            {
                //gebruiker is niet ingelogd: doorverwijzen naar account/login
                Response.Redirect("~/account/login");
            }

            GameModel gm = new GameModel();
            PlayableQuiz playQuiz = new PlayableQuiz();
            //kijk of de quiz gegeven is, anders gaan we de status aanpassen naar "no quiz given"
            int quizId;
            try
            {
                quizId = int.Parse(id);
                try
                {
                    playQuiz = gm.getPlayableQuiz(quizId);
                    ViewBag.status = "success";
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    ViewBag.status = "no quiz given";
                }
            }
            catch (Exception e)
            {
                //als we hier terechtkomen is de id een textuele string (bv. "abc")
                try
                {
                    playQuiz = gm.getPlayableQuizByCode(id);
                    ViewBag.status = "success";
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                    //probeer op naam te zoeken (kleine kans, maar vergroot UX)
                    try
                    {
                        playQuiz = gm.getPlayableQuizByName(id);
                        ViewBag.status = "success";
                    }
                    catch (Exception exc)
                    {
                        Console.WriteLine(exc);
                        ViewBag.status = "no quiz given";
                    }
                }
            }

            //check if the user already played the quiz
            User u = new User();
            if (Session["userId"] != null)
            {
                u.User_Id = (int)Session["userId"];
            }
            List<Result> resultsByUser = gm.getResultsByUser(u);
            foreach (Result r in resultsByUser)
            {
                if (r.FK_Quiz == playQuiz.quiz.Quiz_Id)
                {
                    playQuiz.userPlayed = true;
                }
            }

            return View(playQuiz);
        }