Пример #1
0
 public ActionResult Create(OppViewModel ovm)
 {
     if (!ModelState.IsValid)
     {
         LoadLists(ref ovm);
         return(View(ovm));
     }
     else
     {
         var userId = new Guid(this.HttpContext.User.Identity.GetUserId());
         ovm.Opp.UserId     = userId;
         ovm.Opp.DateOpened = DateTime.Now;
         ovm.Opp.IsActive   = true;
         db.Opp.Add(ovm.Opp);
         foreach (var ev in db.Event)
         {
             if (ovm.SelectedEvents.Contains(ev.Id))
             {
                 ovm.Opp.Event.Add(ev);
             }
         }
         foreach (var c in db.Contact)
         {
             if (ovm.SelectedContacts.Contains(c.Id))
             {
                 ovm.Opp.Contact.Add(c);
             }
         }
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
 }
Пример #2
0
        private void LoadLists(ref OppViewModel ovm)
        {
            var userId = new Guid(this.HttpContext.User.Identity.GetUserId());

            ovm.AllEvents   = new SelectList(db.Event.Where(e => e.UserId == userId), "Id", "Name");
            ovm.AllContacts = new SelectList(db.Contact.Where(o => o.IsActive && o.UserId == userId), "Id", "Name");
            ovm.AllStatuses = new SelectList(db.OppStatus.Where(o => o.IsActive).OrderBy(o => o.SortOrder), "Id", "Status");
        }
Пример #3
0
        // GET: Opps/Create
        public ActionResult Create()
        {
            OppViewModel ovm = new OppViewModel
            {
                Opp = new Opp()
            };

            LoadLists(ref ovm);
            return(View(ovm));
        }
Пример #4
0
        // GET: Opps/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            OppViewModel ovm = new OppViewModel
            {
                Opp = db.Opp.Include(i => i.Contact).Include(i => i.Event).First(c => c.Id == (int)id)
            };

            if (ovm.Opp == null)
            {
                return(HttpNotFound());
            }
            LoadLists(ref ovm);
            return(View(ovm));
        }
Пример #5
0
        public ActionResult Edit(OppViewModel ovm)
        {
            if (!ModelState.IsValid)
            {
                LoadLists(ref ovm);
                return(View(ovm));
            }
            {
                Opp oldOpp = db.Opp
                             .Include(i => i.Contact)
                             .Include(i => i.Event)
                             .First(c => c.Id == ovm.Opp.Id);

                if (TryUpdateModel(oldOpp, "Opp"))
                {
                    foreach (Event ev in db.Event)
                    {
                        if (ovm.SelectedEvents.Contains(ev.Id))
                        {
                            oldOpp.Event.Add(ev);
                        }
                        else
                        {
                            oldOpp.Event.Remove(ev);
                        }
                    }
                    foreach (Contact c in db.Contact.Where(e => e.IsActive))
                    {
                        if (ovm.SelectedContacts.Contains(c.Id))
                        {
                            oldOpp.Contact.Add(c);
                        }
                        else
                        {
                            oldOpp.Contact.Remove(c);
                        }
                    }
                    db.Entry(oldOpp).State = EntityState.Modified;
                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
        }