Exemple #1
0
        protected override ApiResultMessage HandleRequest(object args)
        {
            string token  = ((JObject)args)["token"].ToString();
            int    userId = ApiAccessToken.ValidateAndGetUserId(token);

            Member User           = new Member(userId);
            Money  FirstPackPrice = Money.Zero;

            //Available Balances
            PurchaseOption purchaseOption    = PurchaseOption.Get(PurchaseOption.Features.Upgrade);
            List <int>     availableBalances = new List <int>();

            if (purchaseOption.PurchaseBalanceEnabled)
            {
                availableBalances.Add((int)PurchaseBalances.Purchase);
            }

            if (purchaseOption.CashBalanceEnabled)
            {
                availableBalances.Add((int)PurchaseBalances.Cash);
            }

            //Always allow to upgrade via payment processor
            availableBalances.Add((int)PurchaseBalances.PaymentProcessor);

            //List of memberships
            var activeMemberships = Membership.GetActiveMembershipsDataTables();

            return(new ApiResultMessage
            {
                success = true,
                message = String.Empty,
                data = new ApiUpgradeData
                {
                    warningMessage = UpgradePageHelper.GetWarningMessage(User),
                    availableMembershipPacks = MembershipPack.AllPurchaseablePacks.Select(elem => new ApiMembershipPack(User, elem)).ToList(),
                    availableBalances = availableBalances,
                    memberships = activeMemberships.Rows.Cast <DataRow>().Select(elem => new ApiMembership(elem)).ToList(),
                    balances = ApiMember.GetBalances(User)
                }
            });
        }