Exemplo n.º 1
0
        public IEnumerable <FundItemChosen> FundItemsChosen()
        {
            if (FundItem == null)
            {
                return(new List <FundItemChosen>());
            }
            var items = OnlineRegPersonModel.FullFundList();
            var q     = from i in FundItem
                        join m in items on i.Key equals m.Value.ToInt()
                            where i.Value.HasValue
                        select new FundItemChosen
            {
                fundid = m.Value.ToInt(), desc = m.Text, amt = i.Value.Value
            };

            return(q);
        }
Exemplo n.º 2
0
        public ManageGivingModel(int pid, int orgid = 0)
            : this()
        {
            this.pid   = pid;
            this.orgid = orgid;
            var rg = person.ManagedGiving();

            if (rg != null)
            {
                RepeatPattern = rg.SemiEvery != "S" ? rg.Period : rg.SemiEvery;
                SemiEvery     = rg.SemiEvery;
                StartWhen     = rg.StartWhen;
                StopWhen      = null; //rg.StopWhen;
                Day1          = rg.Day1;
                Day2          = rg.Day2;
                EveryN        = rg.EveryN;
                Period        = rg.Period;
                foreach (var ra in person.RecurringAmounts.AsEnumerable())
                {
                    FundItem.Add(ra.FundId, ra.Amt);
                }

                NextDate = rg.NextDate;
            }
            else if (Setting.ExtraValueFeeName.HasValue())
            {
                var f = OnlineRegPersonModel.FullFundList().SingleOrDefault(ff => ff.Text == Setting.ExtraValueFeeName);
                // reasonable defaults
                RepeatPattern = "M";
                Period        = "M";
                SemiEvery     = "E";
                EveryN        = 1;
                var evamt = person.GetExtra(Setting.ExtraValueFeeName).ToDecimal();
                if (f != null && evamt > 0)
                {
                    FundItem.Add(f.Value.ToInt(), evamt);
                }
            }

            var pi = person.PaymentInfo();

            if (pi == null)
            {
                pi = new PaymentInfo();
            }
            else
            {
                CreditCard           = pi.MaskedCard;
                Account              = pi.MaskedAccount;
                Expires              = pi.Expires;
                Routing              = Util.Mask(new StringBuilder(pi.Routing), 2);
                NoCreditCardsAllowed = DbUtil.Db.Setting("NoCreditCardGiving", "false").ToBool();
                Type = pi.PreferredGivingType;
                if (NoCreditCardsAllowed)
                {
                    Type = PaymentType.Ach; // bank account only
                }
                else if (NoEChecksAllowed)
                {
                    Type = PaymentType.CreditCard; // credit card only
                }
                Type = NoEChecksAllowed ? PaymentType.CreditCard : Type;

                ClearMaskedNumbers(pi);
            }

            FirstName = pi.FirstName ?? person.FirstName;
            Middle    = (pi.MiddleInitial ?? person.MiddleName).Truncate(1);
            LastName  = pi.LastName ?? person.LastName;
            Suffix    = pi.Suffix ?? person.SuffixCode;
            Address   = pi.Address ?? person.PrimaryAddress;
            Address2  = pi.Address2 ?? person.PrimaryAddress2;
            City      = pi.City ?? person.PrimaryCity;
            State     = pi.State ?? person.PrimaryState;
            Country   = pi.Country ?? person.PrimaryCountry;
            Zip       = pi.Zip ?? person.PrimaryZip;
            Phone     = pi.Phone ?? person.HomePhone ?? person.CellPhone;

            total = FundItem.Sum(ff => ff.Value) ?? 0;
        }