public ActionResult Add(int? id) { RsvpViewModel vm; if (id != null) { var m = new mongo().GetItemById<Rsvp>(id); vm = new RsvpViewModel(m); } else { vm = new RsvpViewModel(); vm.Primary.IsEditable = true; vm.PlusOne.IsEditable = true; } return View("Add", vm); }
public ActionResult Index(RsvpViewModel vm) { try { if (vm.Id != null) { Rsvp.Retrieve(vm).Save(); return View("ThankYou"); } else { ViewBag.Error = true; return View("Index", vm); } } catch { ViewBag.Error = true; return View("Index", vm); } }
public ActionResult Add(RsvpViewModel vm) { new Rsvp(vm).Create(); return RedirectToAction("Add"); }
public ActionResult Update(int? id) { var model = new mongo().FindOne<Rsvp>(i => i.Id == id); var vm = new RsvpViewModel(model); return (vm != null) ? View("Index", vm) : View("Index"); }
public async Task <ActionResult> Rsvp(RsvpViewModel model) { if (!string.IsNullOrWhiteSpace(model.Website) || model.CaptchaPass == null || model.CaptchaPass != "KALASHIAN_NOT_ROBOT") { return(Json(new { status = 0, error = "Only humans can submit this form." })); } using (NickBeckyWedding db = new NickBeckyWedding()) using (DbContextTransaction dbTrans = db.Database.BeginTransaction()) { RSVP rsvp = new RSVP { ArrivalDate = model.ArrivalDate, PrimaryEmail = model.EmailAddress, Attending = model.Attending }; db.RSVPs.Add(rsvp); try { await db.SaveChangesAsync(); } catch (Exception ex) { dbTrans.Rollback(); return(Json(new { status = 0, error = ex.Message })); } RSVPAttendee primeAttendee = new RSVPAttendee { EmailAddress = model.EmailAddress, Name = model.Name, RSVP_ID = rsvp.ID }; db.RSVPAttendees.Add(primeAttendee); foreach (RSVPAttendee dbAttendee in model.Attendees.Where(attendee => attendee.EmailAddress != null).Select(attendee => new RSVPAttendee { EmailAddress = attendee.EmailAddress, Name = attendee.Name, RSVP_ID = rsvp.ID })) { db.RSVPAttendees.Add(dbAttendee); } try { await db.SaveChangesAsync(); dbTrans.Commit(); } catch (Exception ex) { dbTrans.Rollback(); return(Json(new { status = 0, error = ex.Message })); } await SendRsvpEmailAsync(model); } return(Json(new { status = 1 })); }
public ActionResult Add(RsvpViewModel vm) { new Rsvp(vm).Create(); return(RedirectToAction("Add")); }