Пример #1
0
    protected void BuyBannerButton_Click(object sender, EventArgs e)
    {
        try
        {
            if (Page.IsValid)
            {
                AppSettings.DemoCheck();

                ErrorMessagePanel.Visible = SuccessMessagePanel.Visible = false;
                var pack = new ExternalBannerAdvertPack(Convert.ToInt32(PacksDDL.SelectedValue));
                ExternalBannerAdvert.Buy(Member.Current, BannerUrlTextBox.Text, Convert.ToInt32(CategoriesDDL.SelectedValue), TempImage, pack, TargetBalanceRadioButtonList.TargetBalance);

                SuccessMessagePanel.Visible = true;
                SuccessMessage.Text         = U6000.REQUESTSENTPLEASEWAIT;
                ClearNewBannerFields(true);
            }
        }
        catch (Exception ex)
        {
            if (ex is MsgException)
            {
                ErrorMessagePanel.Visible = true;
                ErrorMessage.Text         = ex.Message;
            }
            else
            {
                ErrorLogger.Log(ex);
            }

            DeleteOldImage();
            ClearNewBannerFields(false);
        }
    }
Пример #2
0
    public static void Buy(Member user, string url, int categoryId, Banner image, ExternalBannerAdvertPack pack, PurchaseBalances targetBalance)
    {
        PurchaseOption.ChargeBalance(user, pack.Price, PurchaseOption.Features.ExternalBanner.ToString(), targetBalance, "External Banner advertisement");

        var banner = new ExternalBannerAdvert(user.Id, url, categoryId, pack, image, targetBalance);

        banner.Save();

        History.AddPurchase(user.Name, pack.Price, "Banner campaign");

        MatrixBase.TryAddMemberAndCredit(user, pack.Price, AdvertType.ExternalBanner);
    }
Пример #3
0
 private ExternalBannerAdvert(int userId, string url, int categoryId, ExternalBannerAdvertPack pack, Banner image, PurchaseBalances targetBalance)
 {
     UserId = userId;
     Url    = url;
     Status = AdvertStatus.WaitingForAcceptance;
     PublishersWebsiteCategoryId = categoryId;
     ExternalBannerAdvertPackId  = pack.Id;
     Image          = image;
     ClicksReceived = 0;
     ClicksBought   = pack.Clicks;
     PricePaid      = pack.Price;
     MoneyPerClick  = PricePaid / ClicksBought;
     TargetBalance  = targetBalance;
 }
Пример #4
0
    protected void PacksDDL_Init(object sender, EventArgs e)
    {
        var packs     = ExternalBannerAdvertPack.GetActive();
        var listItems = new List <ListItem>();

        foreach (var p in packs)
        {
            var dimensions = new ExternalBannerAdvertDimensions(p.ExternalBannerDimensionsId);
            listItems.Add(
                new ListItem
            {
                Value = p.Id.ToString(),
                Text  = string.Format("{0} {1} ({2} x {3}px) - {4}", p.Clicks, L1.CLICKS, dimensions.Width, dimensions.Height, p.Price)
            });
        }

        PacksDDL.Controls.Clear();
        PacksDDL.Items.AddRange(listItems.ToArray());
    }
Пример #5
0
    public static void Create(int clicks, Money price, int externalBannerDimensionsId)
    {
        var pack = new ExternalBannerAdvertPack(clicks, price, externalBannerDimensionsId);

        pack.Save();
    }
Пример #6
0
 public static bool IsBuyingAvaliable()
 {
     return(ExternalBannerAdvertPack.AreAnyActive() && PublishersWebsiteCategory.AreAnyActive());
 }
Пример #7
0
    public static bool DoesImageHaveValidDimensions(Banner image, ExternalBannerAdvertPack pack)
    {
        var dimensions = pack.Dimensions;

        return(image.Width == dimensions.Width && image.Height == dimensions.Height);
    }