예제 #1
0
        public ActionResult Pytanie()
        {
            if ((string)Session["Status"] != "Uczen" && (string)Session["test"] != "start")
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (Session["iter"] == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            ViewBag.next = true;
            ViewBag.back = true;
            Pytanie pytanie = db.Pytania.Find(Session["iter"]);

            var pytania = db.Pytania.Where(s => s.TestID == pytanie.TestID).ToList();

            if (pytania[0].ID == pytanie.ID)
            {
                ViewBag.back = false;
            }
            if (pytania[pytania.Count() - 1].ID == pytanie.ID)
            {
                ViewBag.next = false;
            }

            ViewBag.title = "Pytanie 1 z " + pytania.Count();
            ViewBag.time  = (int)Session["pozostalyCzasTestu"];

            var vm = new PytanieVM(pytanie);

            vm.SetPathsToBase64();
            return(View(vm));
        }
예제 #2
0
        public ActionResult Pytani(string button, string dec, int pozostalyCzasTestu)
        {
            ViewBag.back = true;
            ViewBag.next = true;

            Pytanie pytanie = db.Pytania.Find(Session["iter"]);

            var pytania = db.Pytania.Where(s => s.TestID == pytanie.TestID).ToList();

            int[] cache = (int[])Session["cache"];
            int   x     = 0;

            foreach (Pytanie a in pytania)
            {
                x++;
                if (a.ID == (int)Session["iter"])
                {
                    break;
                }
            }
            switch (dec)
            {
            case "1":
                cache[x - 1] = 1;
                break;

            case "2":
                cache[x - 1] = 2;
                break;

            case "3":
                cache[x - 1] = 3;
                break;

            case "4":
                cache[x - 1] = 4;
                break;
            }
            Session["cache"] = cache;

            switch (button)
            {
            case "Dalej":
                foreach (Pytanie a in pytania)
                {
                    if (a.ID > (int)Session["iter"])
                    {
                        Session["iter"] = a.ID;
                        if (pytania[pytania.Count() - 1].ID == a.ID)
                        {
                            ViewBag.next = false;
                        }
                        break;
                    }
                }
                break;

            case "Wróć":
                pytania.Reverse();
                foreach (Pytanie a in pytania)
                {
                    if (a.ID < (int)Session["iter"])
                    {
                        Session["iter"] = a.ID;
                        if (pytania[pytania.Count() - 1].ID == a.ID)
                        {
                            ViewBag.back = false;
                        }
                        break;
                    }
                }
                break;

            case "Zapisz test":
                int wynik = 0;
                int max   = 0;
                for (int i = 0; i < cache.Length; i++)
                {
                    max += pytania[i].punktacja;
                    if (cache[i] == (int)pytania[i].odp)
                    {
                        wynik += pytania[i].punktacja;
                    }
                }

                Session["wynik"] = wynik;
                Session["max"]   = max;
                return(RedirectToAction("Wynik"));
            }

            Pytanie pytanie_next = db.Pytania.Find(Session["iter"]);

            pytania = db.Pytania.Where(s => s.TestID == pytanie.TestID).ToList();
            x       = 0;
            foreach (Pytanie a in pytania)
            {
                x++;
                if (a.ID == (int)Session["iter"])
                {
                    break;
                }
            }
            ViewBag.title = "Pytanie " + x + " z " + pytania.Count();
            cache         = (int[])Session["cache"];
            ViewBag.cache = cache[x - 1];
            Session["pozostalyCzasTestu"] = pozostalyCzasTestu;
            ViewBag.time = (int)Session["pozostalyCzasTestu"];

            ModelState.Clear();

            var vm = new PytanieVM(pytanie_next);

            vm.SetPathsToBase64();
            return(View(vm));
        }