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")); } }
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"); }
// GET: Opps/Create public ActionResult Create() { OppViewModel ovm = new OppViewModel { Opp = new Opp() }; LoadLists(ref ovm); return(View(ovm)); }
// 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)); }
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")); } }