Ejemplo n.º 1
0
        public static void EditPledge(EditPledgeVM VM, Pledge pledge, ApplicationUser user,ApplicationDbContext db){

            if (VM.Activities != null)
            {
            foreach(var newA in VM.Activities)
            {
                var thisNewType = (PledgeActivity.ActivityTypes)Enum.Parse(typeof(PledgeActivity.ActivityTypes), newA);
                if (!pledge.Activity_Types.Exists(at => at.Activity == thisNewType)){
                    pledge.Activity_Types.Add(new PledgeActivity { Activity=thisNewType});
                }
            }
            }

            if (VM.GalleryIDs != null)
            {

            //new images
            foreach (var newG in VM.GalleryIDs)
            {
                var newGInt = GenericLogic.GetInt(newG);
                if (!pledge.Gallery.Exists(g => g.CalorieImageID  == newGInt))
                {                    
                    pledge.Gallery.Add(db.Images.FirstOrDefault(t => t.CalorieImageID == newGInt));
                }
            }
            
            //deleted images
            foreach (var old in pledge.Gallery.ToList())
            {
                if (!VM.GalleryIDs.Exists(g => GenericLogic.GetInt(g) == old.CalorieImageID)){
                    pledge.Gallery.Remove(old);
                }
            }
            }
            pledge.ExpiryDate = VM.ExpiryDate;
            pledge.Story = VM.Story;

            Messaging.Add(Message.LevelEnum.alert_success, "Your Pledge has been updated.", Message.TypeEnum.StickyAlert, user);


        }
Ejemplo n.º 2
0
        public ActionResult Edit(EditPledgeVM EditVM)
        {
            if (ModelState.IsValid)
            {
                var pledge = db.OpenPledges.Include("Activity_Types").FirstOrDefault(p => p.PledgeID.ToString() == EditVM.PledgeID);
                PledgesLogic.EditPledge(EditVM, pledge,CurrentUser(),db);
                db.SaveChanges();
                return RedirectToAction("Details", new {id=pledge.PledgeID});
            }

            return View(EditVM);
        }