public ActionResult Solve(string OdpowiedzUzytkownika)
        {
            ISessionIterator iterator = (ISessionIterator)Session[iteratorKey];
            Pytanie          pytanie  = iterator.GetCurrent();

            pytanie.OdpowiedzUzytkownika = OdpowiedzUzytkownika;
            return(RedirectToAction("Solve"));
        }
        public ActionResult Previous(string OdpowiedzUzytkownika)
        {
            ISessionIterator iterator = (ISessionIterator)Session[iteratorKey];
            Pytanie          pytanie  = iterator.GetCurrent();

            pytanie.OdpowiedzUzytkownika = OdpowiedzUzytkownika;
            if (iterator.HasPrev())
            {
                iterator.Prev();
                Session[currentQuestionKey] = (int)Session[currentQuestionKey] - 1;
            }
            return(RedirectToAction("Solve"));
        }
        // Displays the question currently pointed to by the iterator
        // GET: Session/Solve
        public ActionResult Solve()
        {
            ISessionIterator iterator = (ISessionIterator)Session[iteratorKey];
            Sesja            sesja    = (Sesja)Session[sessionKey];
            Pytanie          pytanie  = iterator.GetCurrent();
            var model = pytanie.getViewModel();

            model.NumerPytania          = (int)Session[currentQuestionKey];
            model.LiczbaPytań           = (int)Session[questionCountKey];
            model.JestPierwszymPytaniem = !iterator.HasPrev();
            model.JestOstatnimPytaniem  = !iterator.HasNext();
            model.MozeZakonczyc         = (sesja.TypSesji == TypSesji.Nauka && model.JestOstatnimPytaniem && pytanie.CzyOdpowiedzianoPoprawnie()) ||
                                          (sesja.TypSesji == TypSesji.Test);
            return(View(model));
        }
        public ActionResult Next(string OdpowiedzUzytkownika)
        {
            ISessionIterator iterator = (ISessionIterator)Session[iteratorKey];
            Sesja            sesja    = (Sesja)Session[sessionKey];
            Pytanie          pytanie  = iterator.GetCurrent();

            pytanie.OdpowiedzUzytkownika = OdpowiedzUzytkownika;
            if (iterator.HasNext())
            {
                iterator.Next();
                if ((pytanie.CzyOdpowiedzianoPoprawnie() && sesja.TypSesji == TypSesji.Nauka) || sesja.TypSesji == TypSesji.Test)
                {
                    Session[currentQuestionKey] = (int)Session[currentQuestionKey] + 1;
                }
            }
            return(RedirectToAction("Solve"));
        }