public ActionResult ManagePledge(string id) { if (!id.HasValue()) return Content("bad link"); ManagePledgesModel m = null; var td = TempData["mp"]; if (td != null) m = new ManagePledgesModel(td.ToInt(), id.ToInt()); else { var guid = id.ToGuid(); if (guid == null) return Content("invalid link"); var ot = DbUtil.Db.OneTimeLinks.SingleOrDefault(oo => oo.Id == guid.Value); if (ot == null) return Content("invalid link"); if (ot.Used) return Content("link used"); if (ot.Expires.HasValue && ot.Expires < DateTime.Now) return Content("link expired"); var a = ot.Querystring.Split(','); m = new ManagePledgesModel(a[1].ToInt(), a[0].ToInt()); ot.Used = true; DbUtil.Db.SubmitChanges(); } SetHeaders(m.orgid); DbUtil.LogActivity("Manage Pledge: {0} ({1})".Fmt(m.Organization.OrganizationName, m.person.Name)); return View("ManagePledge/Index", m); }
public ActionResult ConfirmPledge(ManagePledgesModel m) { m.Confirm(); SetHeaders(m.orgid); m.Log("Confirm"); return(View("ManagePledge/Confirm", m)); }
public ActionResult ConfirmPledge(ManagePledgesModel m) { m.Confirm(); SetHeaders(m.orgid); OnlineRegModel.LogOutOfOnlineReg(); RequestManager.SessionProvider.Clear(); m.Log("Confirm"); return(View("ManagePledge/Confirm", m)); }
public ActionResult ManagePledge(string id) { if (!id.HasValue()) { return(Content("bad link")); } ManagePledgesModel m = null; var td = TempData["PeopleId"]; if (td != null) { m = new ManagePledgesModel(td.ToInt(), id.ToInt()); } else { var guid = id.ToGuid(); if (guid == null) { return(Content("invalid link")); } var ot = CurrentDatabase.OneTimeLinks.SingleOrDefault(oo => oo.Id == guid.Value); if (ot == null) { return(Content("invalid link")); } if (ot.Used) { return(Content("link used")); } if (ot.Expires.HasValue && ot.Expires < DateTime.Now) { return(Content("link expired")); } var a = ot.Querystring.Split(','); m = new ManagePledgesModel(a[1].ToInt(), a[0].ToInt()); ot.Used = true; CurrentDatabase.SubmitChanges(); } SetHeaders(m.orgid); m.Log("Start"); return(View("ManagePledge/Index", m)); }
public ActionResult ConfirmPledge(ManagePledgesModel m) { var staff = DbUtil.Db.StaffPeopleForOrg(m.orgid); if (!staff.Any()) { staff = DbUtil.Db.AdminPeople(); } //OrganizationMember.InsertOrgMembers(DbUtil.Db, m.orgid, m.pid, 220, DateTime.Now, null, false); var desc = "{0}; {1}; {2}, {3} {4}".Fmt( m.person.Name, m.person.PrimaryAddress, m.person.PrimaryCity, m.person.PrimaryState, m.person.PrimaryZip); m.person.PostUnattendedContribution(DbUtil.Db, m.pledge ?? 0, m.setting.DonationFundId, desc, pledge: true); var pi = m.GetPledgeInfo(); var body = m.setting.Body; if (!body.HasValue()) { return(Content("There is no Confirmation Message (required)")); } body = body.Replace("{amt}", pi.Pledged.ToString("N2"), ignoreCase: true); body = body.Replace("{org}", m.Organization.OrganizationName, ignoreCase: true); body = body.Replace("{first}", m.person.PreferredName, ignoreCase: true); DbUtil.Db.EmailRedacted(staff.First().FromEmail, m.person, m.setting.Subject, body); DbUtil.Db.Email(m.person.FromEmail, staff, "Online Pledge", @"{0} made a pledge to {1}".Fmt(m.person.Name, m.Organization.OrganizationName)); SetHeaders(m.orgid); return(View(m)); }