示例#1
0
    public static void Create(int days, decimal discountPercent)
    {
        if (TableHelper.GetListFromRawQuery <RentedReferralRenewalDiscount>(string.Format("SELECT * FROM RentedReferralRenewalDiscounts WHERE Days = {0};", days)).Count > 0)
        {
            throw new MsgException(string.Format("Discount with {0} days already exists", days));
        }

        var newRange = new RentedReferralRenewalDiscount(days, discountPercent);

        newRange.Save();
    }
示例#2
0
    protected void RenewButton_Click(object sender, EventArgs e)
    {
        ClearPanels();
        //Renew
        try
        {
            Member user = Member.Current;

            int referralsDone = 0;
            for (int i = 0; i < DirectRefsGridView.Rows.Count; i++)
            {
                if (((HtmlInputCheckBox)DirectRefsGridView.Rows[i].FindControl("chkSelect")).Checked)
                {
                    RentedReferralRenewalDiscount discount;
                    var discountId = Convert.ToInt32(RenewDropDownList.SelectedValue);

                    if (discountId == -1)
                    {
                        discount = RentedReferralRenewalDiscount.GetDefaultObject();
                    }
                    else
                    {
                        discount = new RentedReferralRenewalDiscount(discountId);
                    }

                    var price = RentedReferralRenewalDiscount.GetRenewalPrice(user.Membership, discount);
                    if (price > user.PurchaseBalance)
                    {
                        throw new MsgException(L1.OPPREFPARTIAL.ToString().Replace("%n%", referralsDone.ToString()));
                    }

                    user.SubtractFromPurchaseBalance(price, "Ref: renew");
                    user.SaveBalances();
                    referralsDone++;
                    string refId = (DirectRefsGridView.Rows[i].Cells[1].Text.Trim());
                    RentReferralsSystem.RenewReferral(Int32.Parse(refId), discount.Days);
                }
            }
            SuccMessagePanel2.Visible = true;
            SuccMessage2.Text         = U3501.REFACTIONSUCC;
        }
        catch (MsgException ex)
        {
            ErrorMessagePanel2.Visible = true;
            ErrorMessage2.Text         = ex.Message;
        }

        DirectRefsGridView.DataBind();
    }
示例#3
0
    protected void RenewDropDownList_Init(object sender, EventArgs e)
    {
        RenewDropDownList.Items.Clear();
        var discounts  = RentedReferralRenewalDiscount.GetAll();
        var membership = Member.CurrentInCache.Membership;

        if (!discounts.Any(d => d.Days == 30))
        {
            discounts.Add(RentedReferralRenewalDiscount.GetDefaultObject());
        }

        discounts = discounts.OrderBy(x => x.Days).ToList();

        foreach (var d in discounts)
        {
            RenewDropDownList.Items.Add(new ListItem(string.Format("{0} {1}: {2}", d.Days, L1.DAYS, RentedReferralRenewalDiscount.GetRenewalPrice(membership, d)), d.Id.ToString()));
        }
    }
示例#4
0
    public static Money GetRenewalPrice(IMembership membership, RentedReferralRenewalDiscount d)
    {
        var price = Money.MultiplyPercent((d.Days / (decimal)30) * membership.ReferralRentCost, (100 - membership.RenewalDiscount - d.DiscountPercent));

        return(price);
    }