// GET: Session public ActionResult Index() { // If session exists, redirect to Solve if (Session[sessionKey] != null) { return(RedirectToAction("Solve")); } // Otherwise, offer a choice to create one UserChoicesViewModel model = GetSessionViewModel(); return(View(model)); }
public ActionResult Index(UserChoicesViewModel model) { if (model.UczonyJezykId == model.ZnanyJezykId) { var newModel = GetSessionViewModel(); newModel.ZnanyJezykId = model.ZnanyJezykId; newModel.UczonyJezykId = model.UczonyJezykId; ModelState.AddModelError("JezykUczony", "Język który znasz i którego się uczysz muszą być różne"); return(View(newModel)); } if (ModelState.IsValid) { model.UczonyJezyk = _uow.JezykRepo.Get(model.UczonyJezykId); model.ZnanyJezyk = _uow.JezykRepo.Get(model.ZnanyJezykId); IBudowniczySesji budowniczySesji; switch (model.WybranyInput) { case RodzajInputu.Select: budowniczySesji = new BudowniczySesjiZWyborem(_uow.SlowoRepo); break; case RodzajInputu.TextInput: budowniczySesji = new BudowniczySesjiZInputem(_uow.SlowoRepo); break; default: throw new ArgumentException($"Brak ustalonego budowniczego dla {model.WybranyInput}"); } budowniczySesji.Reset(); _director.Akceptuj(budowniczySesji); _director.Stworz(model); Sesja sesja = budowniczySesji.BudowanaSesja; sesja.Uzytkownik = _uow.UserRepo.Get(User.Identity.GetUserId()); Session[sessionKey] = sesja; Session[iteratorKey] = sesja.GetIterator(); Session[currentQuestionKey] = 1; Session[questionCountKey] = sesja.Pytania.Count; return(RedirectToAction("Solve")); } return(View(model)); }
private UserChoicesViewModel GetSessionViewModel() { var user = UserManager.FindById(User.Identity.GetUserId()); var model = new UserChoicesViewModel() { Jezyki = GetJezyki() }; if (user.PrefferedMode == TrybWybieraniaSesji.Automatyczny) { model.CanEditLevel = false; model.SetLevel(user.Progress); } else { model.CanEditLevel = true; } return(model); }
public void Stworz(UserChoicesViewModel userChoices) { budowniczySesji.UstawJezykUczony(userChoices.UczonyJezyk); budowniczySesji.UstawJezykZnany(userChoices.ZnanyJezyk); switch (userChoices.SessionType) { case TypSesji.Nauka: budowniczySesji.UstawStrategieNauka(); break; case TypSesji.Test: budowniczySesji.UstawStrategieTest(); break; default: throw new ArgumentException($"Nieznany rodzaj sesji {userChoices.SessionType}"); } switch (userChoices.Lvl) { case Poziom.Latwy: budowniczySesji.UstawLatwyZestaw(); break; case Poziom.Sredni: budowniczySesji.UstawSredniZestaw(); break; case Poziom.Trudny: budowniczySesji.UstawTrudnyZestaw(); break; case Poziom.BardzoTrudny: budowniczySesji.UstawBardzoTrudnyZestaw(); break; default: throw new ArgumentException($"Brak ustalonego zachowania dla poziomu {userChoices.Lvl}"); } }
public ActionResult Index(UserChoicesViewModel viewModel) { return(RedirectToAction("Test")); }