Example #1
0
    private void BindDataToDDL()
    {
        Money FirstElementPrice = Money.Zero;

        ddlOptions.Items.Clear();
        ddlOptions.Items.AddRange(UpgradePageHelper.GetMembershipPacks(User, ref FirstElementPrice));
        ddlOptions.DataBind();

        PriceLiteral.Text = FirstElementPrice.ToString();
    }
Example #2
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)
                }
            });
        }
Example #3
0
 public ApiMembershipPack(Member user, MembershipPack pack)
 {
     this.description = UpgradePageHelper.GetMembershipPackDescription(user, pack);
     this.packId      = pack.Id;
     this.price       = new ApiMoney(pack.GetPrice(user));
 }
Example #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        var targetFeature  = PurchaseOption.Features.Upgrade;
        var purchaseOption = PurchaseOption.Get(targetFeature);

        if (purchaseOption.PurchaseBalanceEnabled)
        {
            UpgradeFromAdBalance.Visible = true;
        }
        else
        {
            UpgradeFromAdBalance.Visible = false;
            adBalanceInfo.Visible        = false;
        }

        if (AppSettings.Payments.CashBalanceEnabled && purchaseOption.CashBalanceEnabled)
        {
            UpgradeFromCashBalance.Visible = true;
        }
        else
        {
            UpgradeFromCashBalance.Visible = false;
            cashBalanceInfo.Visible        = false;
        }

        AccessManager.RedirectIfDisabled(AppSettings.TitanFeatures.UpgradeEnabled);

        User = Member.CurrentInCache;

        if (!Page.IsPostBack)
        {
            //Lang
            LangAdder.Add(UpgradeFromAdBalance, U6012.PAYVIAPURCHASEBALANCE);
            LangAdder.Add(UpgradeFromCashBalance, U6005.PAYVIACASHBALANCE);
            LangAdder.Add(UpgradeViaPaymentProcessor, U6005.PAYVIAPAYMENTPROCESSOR);

            //Bind the data dor DDL
            BindDataToDDL();

            //Visibility
            UpgradeViaPaymentProcessorPlaceHolder.Visible = PaymentAccountDetails.AreIncomingPaymentProcessorsAvailable();
        }

        if (TitanFeatures.IsRofriqueWorkMines)
        {
            UpgradeFromAdBalancePlaceHolder.Visible       = false;
            UpgradeViaPaymentProcessorPlaceHolder.Visible = false;
        }

        HideCashBalanceDepositCommissionColumn = AreAllCashBalanceDepositCommissionsZero();

        ddlOptions.Attributes.Add("onchange", "updatePrice();");
        autopayHelpArray = new Dictionary <string, bool>();

        Label10.Text  = AppSettings.Memberships.TenPointsValue.ToClearString();
        LabelIle.Text = AppSettings.Memberships.UpgradePointsDiscount.ToString();

        //Display warning
        string WarningMessage = UpgradePageHelper.GetWarningMessage(User);

        WarningPanel.Visible = !String.IsNullOrEmpty(WarningMessage);
        WarningLiteral.Text  = WarningMessage;

        AdBalanceLiteral.Text   = User.PurchaseBalance.ToString();
        CashBalanceLiteral.Text = User.CashBalance.ToString();

        if (AppSettings.Points.LevelMembershipPolicyEnabled)
        {
            BuyUpgradePlaceHolder.Visible = false;
        }

        hiddenProperties = MembershipProperty.GetPropsToHideForClient();
        TypesMembershipProperties.Text = AdPackTypeMembershipMapper.Mapper.GetHtmlFromCache();
        AdPackPropsPlaceHolder.Visible = AppSettings.TitanFeatures.AdvertAdPacksEnabled;

        PaymentProcessorsButtonPlaceholder.Visible = false;
    }