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)); }
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)); }