public IActionResult SpelSpelen(Groep groep, SpelViewModel svm) { if (groep.CurrentState is GroepGeblokkeerdState) { return(RedirectToAction(nameof(Feedback))); } if (ModelState.IsValid) { try { groep.VerwerkAntwoord(svm.Groepsantwoord); } catch (DrieFoutePogingenException e) { groep.Blokkeer(); _sessieRepository.SaveChanges(); TempData["danger"] = e.Message; return(RedirectToAction(nameof(Feedback))); } catch (TijdVerstrekenException e) { groep.Blokkeer(); _sessieRepository.SaveChanges(); TempData["danger"] = e.Message; return(RedirectToAction(nameof(Feedback))); } catch (FoutAntwoordException) { int pogingen = groep.Pad.GetCurrentOpdracht().FoutePogingen; if (pogingen != 0) { TempData["danger"] = $"{svm.Groepsantwoord} is fout! Je hebt {pogingen} foute {(pogingen == 1 ? "poging" : "pogingen")} ondernomen."; } else { TempData["danger"] = $"{svm.Groepsantwoord} is fout!"; } } catch (AlleOpdrachtenVoltooidException) { } catch (StateException e) { TempData["warning"] = e; } catch (Exception e) { TempData["warning"] = e; } } _sessieRepository.SaveChanges(); SpelViewModel svmMetInput = new SpelViewModel(groep) { Groepsantwoord = svm.Groepsantwoord }; return(View(svmMetInput)); }
public IActionResult BlokkeerGroep(Sessie sessie, string groepid) { try { Groep groep = sessie.Groepen.FirstOrDefault(g => g.GroepId == Int32.Parse(groepid)); groep.Blokkeer(); _sessieRepository.SaveChanges(); TempData["success"] = $"Groep #{groep.GroepId} is nu geblokkeerd."; } catch (StateException e) { TempData["warning"] = e; } catch (Exception e) { TempData["warning"] = e; } return(RedirectToAction(nameof(SessieBeheren))); }
public IActionResult TijdVerstreken(Groep groep) { if (groep.CurrentState is GroepGeblokkeerdState) { return(RedirectToAction(nameof(Feedback))); } try { groep.Pad.GetCurrentOpdracht().ControleerGespendeerdeTijd(); } catch (TijdVerstrekenException) { groep.Blokkeer(); _sessieRepository.SaveChanges(); TempData["danger"] = "Je tijd is verstreken."; return(RedirectToAction(nameof(Feedback))); } catch (StateException e) { TempData["warning"] = e; } return(RedirectToAction(nameof(SpelSpelen))); }