Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        public ActionResult Create()
        {
            Wijziging wijziging = TempData["wijziging"] as Wijziging;

            if (wijziging == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            return(View(wijziging));
        }
Ejemplo n.º 3
0
        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"));
        }
Ejemplo n.º 4
0
        //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();
        }
Ejemplo n.º 5
0
        //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));
        }
Ejemplo n.º 6
0
 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"));
     }
 }
Ejemplo n.º 7
0
        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 }));
        }