public ActionResult CompleteRegistration(OnlineRegModel m) { if (m.AskDonation() && !m.donor.HasValue && m.donation > 0) { SetHeaders(m); ModelState.AddModelError("donation", "Please indicate a donor or clear the donation amount"); return(View("AskDonation", m)); } if (m.List.Count == 0) { return(Content("Can't find any registrants")); } RemmoveLastRegistrantIfEmpty(m); var d = new ExtraDatum { Stamp = Util.Now }; d.Data = Util.Serialize <OnlineRegModel>(m); DbUtil.Db.ExtraDatas.InsertOnSubmit(d); DbUtil.Db.SubmitChanges(); DbUtil.LogActivity("Online Registration: {0} ({1})".Fmt(m.Header, d.Id)); if (m.PayAmount() == 0 && (m.donation ?? 0) == 0 && !m.Terms.HasValue()) { return(RedirectToAction("Confirm", new { id = d.Id, TransactionID = "zero due", })); } var terms = Util.PickFirst(m.Terms, ""); if (terms.HasValue()) { ViewData["Terms"] = terms; } SetHeaders(m); if (m.PayAmount() == 0 && m.Terms.HasValue()) { return(View("Terms", new PaymentModel { Terms = m.Terms, _URL = m.URL, _timeout = INT_timeout, PostbackURL = Util.ServerLink("/OnlineReg/Confirm/" + d.Id), })); } ViewBag.timeout = INT_timeout; ViewBag.Url = m.URL; var om = DbUtil.Db.OrganizationMembers.SingleOrDefault( mm => mm.OrganizationId == m.orgid && mm.PeopleId == m.List[0].PeopleId); m.ParseSettings(); if (om != null && m.settings[m.orgid.Value].AllowReRegister == false) { return(Content("You are already registered it appears")); } var pf = PaymentForm.CreatePaymentForm(m); pf.DatumId = d.Id; pf.FormId = Guid.NewGuid(); if (OnlineRegModel.GetTransactionGateway() == "serviceu") { return(View("Payment", pf)); } return(View("ProcessPayment", pf)); }
public ActionResult CompleteRegistration(OnlineRegModel m) { m.History.Add("CompleteRegistration"); if (m.org != null && m.org.RegistrationTypeId == RegistrationTypeCode.SpecialJavascript) { SpecialRegModel.ParseResults(m.Orgid ?? 0, m.List[0].PeopleId ?? 0, Request.Form); return(View("SpecialRegistrationResults")); } if (m.AskDonation() && !m.donor.HasValue && m.donation > 0) { SetHeaders(m); ModelState.AddModelError("donation", "Please indicate a donor or clear the donation amount"); return(View("AskDonation", m)); } if (m.List.Count == 0) { return(Content("Can't find any registrants")); } RemoveLastRegistrantIfEmpty(m); m.UpdateDatum(); DbUtil.LogActivity("Online Registration: {0} ({1})".Fmt(m.Header, m.DatumId)); if (m.PayAmount() == 0 && (m.donation ?? 0) == 0 && !m.Terms.HasValue()) { return(RedirectToAction("Confirm", new { id = m.DatumId, TransactionID = "zero due", })); } var terms = Util.PickFirst(m.Terms, ""); if (terms.HasValue()) { ViewData["Terms"] = terms; } SetHeaders(m); if (m.PayAmount() == 0 && m.Terms.HasValue()) { return(View("Terms", new PaymentModel { Terms = m.Terms, _URL = m.URL, PostbackURL = DbUtil.Db.ServerLink("/OnlineReg/Confirm/" + m.DatumId), _timeout = m.TimeOut })); } var om = DbUtil.Db.OrganizationMembers.SingleOrDefault( mm => mm.OrganizationId == m.Orgid && mm.PeopleId == m.List[0].PeopleId); m.ParseSettings(); if (om != null && m.settings[om.OrganizationId].AllowReRegister == false && !m.SupportMissionTrip) { return(Content("You are already registered it appears")); } var pf = PaymentForm.CreatePaymentForm(m); if (OnlineRegModel.GetTransactionGateway() == "serviceu") { return(View("Payment/ServiceU", pf)); } ModelState.Clear(); return(View("Payment/Process", pf)); }