public ActionResult CreateSanctie(GebruikerViewModel.SanctieViewModel model) { if (UserStillLoggedIn() && !(_gebruikerRepository.FindById((int)Session["gebruiker"]) is Opvoeder)) { return ReturnToLogin(); } Opvangtehuis opvangtehuis; if (ModelState.IsValid) { try { var gebruiker = (Client)_gebruikerRepository.FindById(model.Id); opvangtehuis = _gebruikerRepository.FindById(gebruiker.Id).Opvangtehuis; gebruiker.AddSanctie(model.Rede, model.Date, model.EindDatum, opvangtehuis.FindStrafByName(model.GeselecteerdeStraf)); _gebruikerRepository.SaveChanges(); this.AddNotification("Een sanctie is toegevoegd", NotificationType.SUCCESS); return RedirectToAction("OpvoederIndex"); } catch (ApplicationException e) { ModelState.AddModelError("", e.Message); } } opvangtehuis = _gebruikerRepository.FindById((int)Session["gebruiker"]).Opvangtehuis; var svm = new GebruikerViewModel.SanctieViewModel(model.Id, _gebruikerRepository.FindById(model.Id).GiveFullName()); svm.SetStraffen(opvangtehuis.GetStraffen().Select(s => s.Naam).ToList()); return View(svm); }
public ActionResult CreateSanctie(int id) { if (UserStillLoggedIn() || !(_gebruikerRepository.FindById((int)Session["gebruiker"]) is Opvoeder)) { return ReturnToLogin(); } try { var opvangtehuis = _gebruikerRepository.FindById((int)Session["gebruiker"]).Opvangtehuis; var svm = new GebruikerViewModel.SanctieViewModel(id, _gebruikerRepository.FindById(id).GiveFullName()); svm.SetStraffen(opvangtehuis.GetStraffen().Select(s => s.Naam).ToList()); return View(svm); } catch (NullReferenceException e) { ModelState.AddModelError("", e.Message); return RedirectToAction("OpvoederIndex"); } }