public ActionResult Index(int?id, bool?testing, string email, bool?login, string registertag, bool?showfamily, int?goerid, int?gsid, string source)
        {
            Response.NoCache();
            try
            {
                var m = new OnlineRegModel(Request, id, testing, email, login, source);
                if (m.org != null && m.org.IsMissionTrip == true)
                {
                    m.PrepareMissionTrip(gsid, goerid);
                }

                SetHeaders(m);
                var pid = m.CheckRegisterLink(registertag);
                if (m.MissionTripSelfSupportPaylink.HasValue() && m.GoerId > 0)
                {
                    return(Redirect(m.MissionTripSelfSupportPaylink));
                }
                return(RouteRegistration(m, pid, showfamily));
            }
            catch (Exception ex)
            {
                if (ex is BadRegistrationException)
                {
                    return(Message(ex.Message));
                }
                throw;
            }
        }
Beispiel #2
0
        public ActionResult Giving(int id, int?goerid, int?gsid)
        {
            var m = new OnlineRegModel(Request, CurrentDatabase, id, false, null, null, null);

            if (m.org != null && m.org.IsMissionTrip == true && m.org.TripFundingPagesEnable == true)
            {
                m.PrepareMissionTrip(gsid, goerid);
            }
            else
            {
                return(new HttpNotFoundResult());
            }

            SetHeaders(m);
            if (m.MissionTripCost == null)
            {
                // goer specified isn't part of this trip
                return(new HttpNotFoundResult());
            }
            if (Util.UserPeopleId == goerid)
            {
                return(View("Giving/Goer", m));
            }
            else if (m.org.TripFundingPagesPublic)
            {
                return(View("Giving/Guest", m));
            }
            else
            {
                return(new HttpNotFoundResult());
            }
        }
Beispiel #3
0
        public ActionResult Index(int?id, bool?testing, string email, bool?login, string registertag, bool?showfamily, int?goerid, int?gsid, string source)
        {
            Response.NoCache();
            try
            {
                var m = new OnlineRegModel(Request, CurrentDatabase, id, testing, email, login, source);

                if (m.ManageGiving())
                {
                    Session["Campus"]       = Request.QueryString["campus"];
                    Session["DefaultFunds"] = Request.QueryString["funds"];
                    m.Campus       = Session["Campus"]?.ToString();
                    m.DefaultFunds = Session["DefaultFunds"]?.ToString();
                }

                if (m.org != null && m.org.IsMissionTrip == true)
                {
                    if (gsid != null || goerid != null)
                    {
                        m.PrepareMissionTrip(gsid, goerid);
                    }
                }

                SetHeaders(m);
                var pid = m.CheckRegisterLink(registertag);
                if (m.NotActive())
                {
                    return(View("OnePageGiving/NotActive", m));
                }
                if (m.MissionTripSelfSupportPaylink.HasValue() && m.GoerId > 0)
                {
                    return(Redirect(m.MissionTripSelfSupportPaylink));
                }

                return(RouteRegistration(m, pid, showfamily));
            }
            catch (Exception ex)
            {
                if (ex is BadRegistrationException)
                {
                    return(Message(ex.Message));
                }

                throw;
            }
        }
        public ActionResult Giving(int id, int?goerid, int?gsid)
        {
            var m = new OnlineRegModel(Request, CurrentDatabase, id, false, null, null, null);

            if (m.org != null && m.org.IsMissionTrip == true && m.org.TripFundingPagesEnable == true)
            {
                m.PrepareMissionTrip(gsid, goerid);
            }
            else
            {
                return(new HttpNotFoundResult());
            }

            SetHeaders(m);
            if (m.MissionTripCost == null)
            {
                // goer specified isn't part of this trip
                return(new HttpNotFoundResult());
            }
            if (!m.URL.HasValue() || m.URL.Contains("False"))
            {
                m.URL = CurrentDatabase.ServerLink($"/OnlineReg/{id}/Giving/{goerid}");
            }

            var currentUserId = Util.UserPeopleId;

            if (currentUserId != null && currentUserId == goerid)
            {
                return(View("Giving/Goer", m));
            }
            else if (m.org.TripFundingPagesPublic)
            {
                return(View("Giving/Guest", m));
            }
            else
            {
                return(new HttpNotFoundResult());
            }
        }
        public ActionResult Index(int?id, bool?testing, string email, bool?login, string registertag, bool?showfamily, int?goerid, int?gsid, string source, int?pledgeFund)
        {
            Response.NoCache();

            var m             = new OnlineRegModel(Request, CurrentDatabase, id, testing, email, login, source);
            var isMissionTrip = (m.org?.IsMissionTrip).GetValueOrDefault();

            if (isMissionTrip)
            {
                m.ProcessType = PaymentProcessTypes.OnlineRegistration;
            }
            else
            {
                AssignPaymentProcessType(ref m);
            }

            if (pledgeFund != null)
            {
                m.pledgeFundId = pledgeFund.Value;
            }

            SetHeaders(m);

            int?GatewayId       = MultipleGatewayUtils.GatewayId(CurrentDatabase, m.ProcessType);
            var gatewayRequired = (m.PayAmount() > 0 || m.ProcessType == PaymentProcessTypes.OneTimeGiving || m.ProcessType == PaymentProcessTypes.RecurringGiving);

            if (GatewayId.IsNull() && gatewayRequired)
            {
                return(View("OnePageGiving/NotConfigured"));
            }

            if ((int)GatewayTypes.Pushpay == GatewayId && string.IsNullOrEmpty(MultipleGatewayUtils.Setting(CurrentDatabase, "PushpayMerchant", "", (int)m.ProcessType)))
            {
                ViewBag.Header       = m.Header;
                ViewBag.Instructions = m.Instructions;
                return(View("OnePageGiving/NotConfigured"));
            }

            if (m.ManageGiving())
            {
                Session[$"Campus-{m.Orgid}"] =
                    m.Campus            = Request.QueryString["campus"];
                Session["DefaultFunds"] = Request.QueryString["funds"];
                m.DefaultFunds          = Session["DefaultFunds"]?.ToString();
            }

            if (isMissionTrip)
            {
                if (gsid != null || goerid != null)
                {
                    m.PrepareMissionTrip(gsid, goerid);
                }
            }

            var pid = m.CheckRegisterLink(registertag);

            if (m.NotActive())
            {
                return(View("OnePageGiving/NotActive", m));
            }
            if (m.MissionTripSelfSupportPaylink.HasValue() && m.GoerId > 0)
            {
                return(Redirect(m.MissionTripSelfSupportPaylink));
            }

            return(RouteRegistration(m, pid, showfamily));
        }