private ActionResult RouteSpecialLogin(OnlineRegModel m) { if (Util.UserPeopleId == null) { throw new Exception("Util.UserPeopleId is null on login"); } var link = RouteExistingRegistration(m); if (link.HasValue()) { return(Redirect(link)); } m.CreateAnonymousList(); m.UserPeopleId = Util.UserPeopleId; if (m.OnlineGiving()) { m.Log("Login OnlineGiving"); return(RegisterFamilyMember(Util.UserPeopleId.Value, m)); } link = RouteManageGivingSubscriptionsPledgeVolunteer(m); if (link.HasValue()) { return(Content(link)); // this will be used for a redirect in javascript } return(null); }
public ActionResult FindRecord(int id, OnlineRegModel m) { // Anonymous person clicks submit to find their record var msg = m.CheckExpiredOrCompleted(); if (msg.HasValue()) { return(PageMessage(msg)); } fromMethod = "FindRecord"; m.HistoryAdd("FindRecord id=" + id); if (id >= m.List.Count) { return(FlowList(m)); } var p = m.GetFreshFindInfo(id); if (p.NeedsToChooseClass()) { p.RegistrantProblem = "Please Make Selection Above"; return(FlowList(m)); } p.ValidateModelForFind(ModelState, id); if (!ModelState.IsValid) { return(FlowList(m)); } if (p.AnonymousReRegistrant()) { return(View("Continue/ConfirmReregister", m)); // send email with link to reg-register } if (p.IsSpecialReg()) { p.QuestionsOK = true; } else if (p.RegistrationFull()) { m.Log("Closed"); ModelState.AddModelError(m.GetNameFor(mm => mm.List[id].DateOfBirth), "Sorry, but registration is closed."); } p.FillPriorInfo(); p.SetSpecialFee(); if (!ModelState.IsValid || p.count == 1) { return(FlowList(m)); } // form is ok but not found, so show AddressGenderMarital Form p.PrepareToAddNewPerson(ModelState, id); p.Found = false; return(FlowList(m)); }
public ActionResult NoLogin(OnlineRegModel m) { fromMethod = "NoLogin"; // Clicked the register without logging in link m.nologin = true; m.CreateAnonymousList(); m.Log("NoLogin"); return(FlowList(m)); }
public ActionResult AskDonation(OnlineRegModel m) { m.HistoryAdd("AskDonation"); if (m.List.Count == 0) { m.Log("AskDonationError NoRegistrants"); return(Content("Can't find any registrants")); } m.RemoveLastRegistrantIfEmpty(); SetHeaders(m); return(View("Other/AskDonation", m)); }
private string RouteExistingRegistration(OnlineRegModel m, int?pid = null) { var existingRegistration = m.GetExistingRegistration(pid ?? Util.UserPeopleId ?? 0); if (existingRegistration == null) { return(null); } m.Log("Existing"); TempData["PeopleId"] = existingRegistration.UserPeopleId; return("/OnlineReg/Existing/" + existingRegistration.DatumId); }
private ActionResult FlowList(OnlineRegModel m) { try { m.UpdateDatum(); m.Log(fromMethod); var content = ViewExtensions2.RenderPartialViewToString2(this, "Flow2/List", m); return(Content(content)); } catch (Exception ex) { return(ErrorResult(m, ex, "In " + fromMethod + "<br>" + ex.Message)); } }
private string RouteExistingRegistration(OnlineRegModel m, int?pid = null) { if (m.SupportMissionTrip) { return(null); } var existingRegistration = m.GetExistingRegistration(pid ?? CurrentDatabase.UserPeopleId ?? 0); if (existingRegistration == null) { return(null); } m.Log("Existing"); Util.TempPeopleId = existingRegistration.UserPeopleId; return("/OnlineReg/Existing/" + existingRegistration.DatumId); }
private ActionResult ErrorResult(OnlineRegModel m, Exception ex, string errorDisplay) { // ReSharper disable once EmptyGeneralCatchClause try { m.UpdateDatum(); } catch { } var ex2 = new Exception($"{errorDisplay}, {DbUtil.Db.ServerLink("/OnlineReg/RegPeople/") + m.DatumId}", ex); ErrorSignal.FromCurrentContext().Raise(ex2); m.Log(ex2.Message); TempData["error"] = errorDisplay; TempData["stack"] = ex.StackTrace; return(Content("/Error/")); }
private ActionResult RouteRegistration(OnlineRegModel m, int pid, bool?showfamily) { if (pid == 0) { return(View(m)); } #if DEBUG m.DebugCleanUp(); #endif var link = RouteExistingRegistration(m, pid); if (link.HasValue()) { return(Redirect(link)); } OnlineRegPersonModel p = null; if (showfamily != true) { // No need to pick family, so prepare first registrant ready to answer questions p = m.LoadExistingPerson(pid, 0); if (p == null) { throw new Exception($"No person found with PeopleId = {pid}"); } p.ValidateModelForFind(ModelState, 0); if (m.masterorg == null) { if (m.List.Count == 0) { m.List.Add(p); } else { m.List[0] = p; } } } if (!ModelState.IsValid) { m.Log("CannotProceed"); return(View(m)); } link = RouteManageGivingSubscriptionsPledgeVolunteer(m); if (link.HasValue()) { if (m.ManageGiving()) // use Direct ActionResult instead of redirect { return(ManageGiving(m.Orgid.ToString(), m.testing)); } else if (m.RegisterLinkMaster()) { return(Redirect(link)); } else { return(Redirect(link)); } } // check for forcing show family, master org, or not found if (showfamily == true || p.org == null || p.Found != true) { return(View(m)); } // ready to answer questions, make sure registration is ok to go m.Log("Authorized"); if (!m.SupportMissionTrip) { p.IsFilled = p.org.RegLimitCount(DbUtil.Db) >= p.org.Limit; } if (p.IsFilled) { m.Log("Closed"); ModelState.AddModelError(m.GetNameFor(mm => mm.List[0].Found), "Sorry, but registration is closed."); } p.FillPriorInfo(); p.SetSpecialFee(); m.HistoryAdd($"index, pid={pid}, !showfamily, p.org, found=true"); return(View(m)); }
private ActionResult RouteRegistration(OnlineRegModel m, int pid, bool?showfamily) { if (pid == 0) { return(View(m)); } #if DEBUG m.DebugCleanUp(); #endif int?GatewayId = MultipleGatewayUtils.GatewayId(CurrentDatabase, m.ProcessType); if ((int)GatewayTypes.Pushpay == GatewayId && m.ProcessType == PaymentProcessTypes.OneTimeGiving) { Session["PaymentProcessType"] = PaymentProcessTypes.OneTimeGiving; return(Redirect($"/Pushpay/OneTime/{pid}/{m.Orgid}")); } if ((int)GatewayTypes.Pushpay == GatewayId && m.ProcessType == PaymentProcessTypes.RecurringGiving) { Session["PaymentProcessType"] = PaymentProcessTypes.RecurringGiving; return(Redirect($"/Pushpay/RecurringManagment/{pid}/{m.Orgid}")); } var link = RouteExistingRegistration(m, pid); if (link.HasValue()) { return(Redirect(link)); } OnlineRegPersonModel p; PrepareFirstRegistrant(ref m, pid, showfamily, out p); if (p != null) { p.pledgeFundId = m.pledgeFundId; } if (!ModelState.IsValid) { m.Log("CannotProceed"); return(View(m)); } link = RouteManageGivingSubscriptionsPledgeVolunteer(m); if (link.HasValue()) { if (m.ManageGiving()) // use Direct ActionResult instead of redirect { return(ManageGiving(m.Orgid.ToString(), m.testing)); } else if (m.RegisterLinkMaster()) { return(Redirect(link)); } else { return(Redirect(link)); } } // check for forcing show family, master org, or not found if (showfamily == true || p.org == null || p.Found != true) { return(View(m)); } // ready to answer questions, make sure registration is ok to go m.Log("Authorized"); if (!m.SupportMissionTrip) { p.IsFilled = p.org.RegLimitCount(CurrentDatabase) >= p.org.Limit; } if (p.IsFilled) { m.Log("Closed"); ModelState.AddModelError(m.GetNameFor(mm => mm.List[0].Found), "Sorry, but registration is closed."); } p.FillPriorInfo(); p.SetSpecialFee(); m.HistoryAdd($"index, pid={pid}, !showfamily, p.org, found=true"); return(View(m)); }