public ActionResult Create([Bind(Include = "wijziging_id,beheerder,type,naam,beschrijving,jsonData,jsonClassType")] Wijziging wijziging) { if (ModelState.IsValid) { db.Wijzigings.Add(wijziging); db.SaveChanges(); return(RedirectToAction("Dashboard", "Evenementen", new { id = db.Evenements.Find(db.EvenementBeheerders.Find(wijziging.beheerder).evenement).evenement_id })); } return(View(wijziging)); }
public ActionResult Create() { Wijziging wijziging = TempData["wijziging"] as Wijziging; if (wijziging == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } return(View(wijziging)); }
public ActionResult DeleteComfirmed(int id) { Wijziging wijziging = db.Wijzigings.Find(id); if (!db.IsAuthorized(wijziging.beheerder, User.Identity.GetUserId())) { return(new HttpStatusCodeResult(HttpStatusCode.Unauthorized)); } db.Wijzigings.Remove(wijziging); db.SaveChanges(); return(RedirectToAction("Index")); }
//Reads the wijziging and executes the stored database change private void ExecuteWijziging(Wijziging wijziging) { object Wijzigingobject = new JavaScriptSerializer().Deserialize(wijziging.jsonData, Type.GetType(wijziging.jsonClassType)); string type = wijziging.jsonClassType.Substring(24); //Insert if (wijziging.WijzigingsType.type_id == 1) { if (type == "Evenement") { db.Evenements.Add(Wijzigingobject as Evenement); } else if (type == "Activiteit") { db.Activiteits.Add(Wijzigingobject as Activiteit); } } //Delete else if (wijziging.WijzigingsType.type_id == 2) { if (type == "Evenement") { db.Evenements.Remove(db.Evenements.Find((Wijzigingobject as Evenement).evenement_id)); } else if (type == "Activiteit") { db.Activiteits.Remove(db.Activiteits.Find((Wijzigingobject as Activiteit).activiteit_id)); } } //Update //TODO object can be removed before Update wijziging is used creating a concurrency exeption else if (wijziging.WijzigingsType.type_id == 3) { if (type == "Evenement") { Evenement newEvent = Wijzigingobject as Evenement; Evenement oldEvent = db.Evenements.Find(newEvent.evenement_id); oldEvent.naam = newEvent.naam; oldEvent.beschrijving = newEvent.beschrijving; oldEvent.begindatum = newEvent.begindatum; oldEvent.einddatum = newEvent.einddatum; db.Entry(oldEvent).State = EntityState.Modified; } else if (type == "Activiteit") { db.Entry(Wijzigingobject as Activiteit).State = EntityState.Modified; } } db.Wijzigings.Remove(wijziging); db.SaveChanges(); }
//TODO toon de naam van de beheerder van een wijziging public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Wijziging wijziging = db.Wijzigings.Find(id); if (wijziging == null) { return(HttpNotFound()); } if (!db.IsAuthorized(wijziging.beheerder, User.Identity.GetUserId())) { return(new HttpStatusCodeResult(HttpStatusCode.Unauthorized)); } return(View(wijziging)); }
private Wijziging GenerateWijziging(Activiteit activiteit, int type) { if (User.Identity.IsAuthenticated) { int userId = Convert.ToInt32(User.Identity.GetUserId()); int beheerder = db.EvenementBeheerders.Where(e => e.evenement == activiteit.evenement).First(b => b.beheerder == userId).evenement_beheerder_id; Wijziging change = new Wijziging { beheerder = beheerder, type = type, jsonClassType = activiteit.GetType().ToString(), jsonData = new JavaScriptSerializer().Serialize(activiteit) }; return(change); } else { throw (new Exception("No logon found")); } }
public ActionResult Activate(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Wijziging wijziging = db.Wijzigings.Find(id); if (wijziging == null) { return(HttpNotFound()); } if (!User.Identity.IsAuthenticated) { return(new HttpStatusCodeResult(HttpStatusCode.Unauthorized)); } //TODO check if user is not the maker of the wijziging, check if user is part of evenement int eventId = db.Evenements.Find(db.EvenementBeheerders.Find(wijziging.beheerder).evenement).evenement_id; ExecuteWijziging(wijziging); return(RedirectToAction("Dashboard", "Evenementen", new { id = eventId })); }