public ActionResult ManageGiving(ManageGivingModel m) { m.SetCurrentDatabase(CurrentDatabase); SetHeaders(m.orgid); // only validate if the amounts are greater than zero. if (m.FundItemsChosen().Sum(f => f.amt) > 0) { m.ValidateModel(ModelState); if (!ModelState.IsValid) { if (m.person == null) { return(Message("person not found")); } m.total = 0; foreach (var ff in m.FundItemsChosen()) { m.total += ff.amt; } return(View("ManageGiving/Setup", m)); } } else { ModelState.AddModelError("funds", "You must choose at least one fund to give to."); return(View("ManageGiving/Setup", m)); } if (CurrentDatabase.Setting("UseRecaptchaForManageGiving")) { if (!GoogleRecaptcha.IsValidResponse(HttpContext, CurrentDatabase)) { ModelState.AddModelError("TranId", "ReCaptcha validation failed."); return(View("ManageGiving/Setup", m)); } } try { m.Update(); } catch (Exception ex) { if (ex.Message == "InvalidVaultId") { m = ClearPaymentInfo(m, ModelState); } else { ModelState.AddModelError("form", ex.Message); } } if (!ModelState.IsValid) { return(View("ManageGiving/Setup", m)); } RequestManager.SessionProvider.Add("managegiving", m); return(Redirect("/OnlineReg/ConfirmRecurringGiving")); }
public ActionResult ManageGiving(ManageGivingModel m) { SetHeaders(m.orgid); // only validate if the amounts are greater than zero. if (m.FundItemsChosen().Sum(f => f.amt) > 0) { m.ValidateModel(ModelState); if (!ModelState.IsValid) { m.total = 0; foreach (var ff in m.FundItemsChosen()) { m.total += ff.amt; } return(View("ManageGiving/Setup", m)); } } try { m.Update(); } catch (Exception ex) { ModelState.AddModelError("form", ex.Message); } if (!ModelState.IsValid) { return(View("ManageGiving/Setup", m)); } TempData["managegiving"] = m; return(Redirect("/OnlineReg/ConfirmRecurringGiving")); }
public ActionResult ManageGiving(ManageGivingModel m) { SetHeaders(m.orgid); // only validate if the amounts are greater than zero. if (m.FundItemsChosen().Sum(f => f.amt) > 0) { m.ValidateModel(ModelState); if (!ModelState.IsValid) { if (m.person == null) { return(Message("person not found")); } m.total = 0; foreach (var ff in m.FundItemsChosen()) { m.total += ff.amt; } return(View("ManageGiving/Setup", m)); } } if (CurrentDatabase.Setting("UseRecaptchaForManageGiving")) { if (!GoogleRecaptcha.IsValidResponse(HttpContext, CurrentDatabase)) { ModelState.AddModelError("TranId", "ReCaptcha validation failed."); return(View("ManageGiving/Setup", m)); } } try { m.Update(); } catch (Exception ex) { ModelState.AddModelError("form", ex.Message); } if (!ModelState.IsValid) { return(View("ManageGiving/Setup", m)); } TempData["managegiving"] = m; return(Redirect("/OnlineReg/ConfirmRecurringGiving")); }
public ActionResult ManageGiving(ManageGivingModel m) { SetHeaders(m.orgid); m.ValidateModel(ModelState); if (!ModelState.IsValid) return View("ManageGiving/Setup", m); try { m.Update(); } catch (Exception ex) { ModelState.AddModelError("form", ex.Message); } if (!ModelState.IsValid) return View("ManageGiving/Setup", m); TempData["managegiving"] = m; return Redirect("/OnlineReg/ConfirmRecurringGiving"); }
public ActionResult ManageGiving(ManageGivingModel m) { SetHeaders(m.orgid); RemoveNonDigitsIfNecessary(m); m.ValidateModel(ModelState); if (!ModelState.IsValid) { return(View(m)); } try { var gateway = OnlineRegModel.GetTransactionGateway(); if (gateway == "authorizenet") { var au = new AuthorizeNet(DbUtil.Db, m.testing); au.AddUpdateCustomerProfile(m.pid, m.Type, m.Cardnumber, m.Expires, m.Cardcode, m.Routing, m.Account); } else if (gateway == "sage") { var sg = new SagePayments(DbUtil.Db, m.testing); sg.storeVault(m.pid, m.Type, m.Cardnumber, m.Expires, m.Cardcode, m.Routing, m.Account, giving: true); } else { throw new Exception("ServiceU not supported"); } var mg = m.person.ManagedGiving(); if (mg == null) { mg = new ManagedGiving(); m.person.ManagedGivings.Add(mg); } mg.SemiEvery = m.SemiEvery; mg.Day1 = m.Day1; mg.Day2 = m.Day2; mg.EveryN = m.EveryN; mg.Period = m.Period; mg.StartWhen = m.StartWhen; mg.StopWhen = m.StopWhen; mg.NextDate = mg.FindNextDate(DateTime.Today); var pi = m.person.PaymentInfo(); pi.FirstName = m.firstname.Truncate(50); pi.MiddleInitial = m.middleinitial.Truncate(10); pi.LastName = m.lastname.Truncate(50); pi.Suffix = m.suffix.Truncate(10); pi.Address = m.address.Truncate(50); pi.City = m.city.Truncate(50); pi.State = m.state.Truncate(10); pi.Zip = m.zip.Truncate(15); pi.Phone = m.phone.Truncate(25); var q = from ra in DbUtil.Db.RecurringAmounts where ra.PeopleId == m.pid select ra; DbUtil.Db.RecurringAmounts.DeleteAllOnSubmit(q); DbUtil.Db.SubmitChanges(); foreach (var c in m.FundItemsChosen()) { var ra = new RecurringAmount { PeopleId = m.pid, FundId = c.fundid, Amt = c.amt }; DbUtil.Db.RecurringAmounts.InsertOnSubmit(ra); } DbUtil.Db.SubmitChanges(); } catch (Exception ex) { ModelState.AddModelError("form", ex.Message); } if (!ModelState.IsValid) { return(View(m)); } TempData["managegiving"] = m; return(Redirect("ConfirmRecurringGiving")); }