protected void PurchaseButton_Click(object sender, EventArgs e) { SPanel.Visible = false; EPanel.Visible = false; try { User = Member.Current; int advertId = Convert.ToInt32(CampaignsDropDown.SelectedValue); surfAdsPack = new SurfAdsPack(Convert.ToInt32(PacksDropDown.SelectedValue)); SurfAdsManager.BuySurfAds(advertId, User, surfAdsPack, TargetBalanceRadioButtonList.TargetBalance); SPanel.Visible = true; SText.Text = U5004.BUYSURFADSSUCCESS; SurfAdsStatsGridView.DataBind(); } catch (MsgException ex) { EPanel.Visible = true; EText.Text = ex.Message; } catch (Exception ex) { ErrorLogger.Log(ex); } }
public static void BuySurfAds(int adPacksAdvertId, Member user, SurfAdsPack surfAdsPack, PurchaseBalances targetBalance) { var availablePacks = SurfAdsPack.GetAllActivePacks(); if (surfAdsPack.Status != SurfAdsPackStatus.Active) { throw new MsgException("Selected Surf Ads Pack is unavailable"); } //BUY ADPACKS var totalPrice = surfAdsPack.Price; PurchaseOption.ChargeBalance(user, totalPrice, PurchaseOption.Features.SurfAd.ToString(), targetBalance, string.Format("{0} purchase", U5004.SURFADS)); AdPacksAdvert ad = new AdPacksAdvert(adPacksAdvertId); AdPack pack = new AdPack(); pack.MoneyReturned = new Money(0); pack.AdPacksAdvertId = adPacksAdvertId; pack.TotalConstantBannerImpressions = pack.ConstantBannerImpressionsBought = 0; pack.NormalBannerImpressionsBought = pack.TotalNormalBannerImpressions = 0; pack.ClicksBought = surfAdsPack.Clicks; pack.PurchaseDate = DateTime.Now; pack.MoneyToReturn = pack.MoneyReturned = new Money(0); pack.UserCustomGroupId = -1; pack.UserId = user.Id; pack.DistributionPriority = new Decimal(0); pack.AdPackTypeId = -1; pack.DisplayTime = surfAdsPack.DisplayTime; pack.Save(); //Pools PoolDistributionManager.AddProfit(ProfitSource.SurfAds, totalPrice); }
private void BindDataToPacksDDL() { PacksDropDown.Items.Clear(); var availablePacks = SurfAdsPack.GetAllActivePacks(); for (int i = 0; i < availablePacks.Count; i++) { string itemValue = availablePacks[i].Id.ToString(); StringBuilder sb = new StringBuilder(); sb.AppendFormat("{0}: {1}, {2}: {3}s", L1.VIEWSBIG, availablePacks[i].Clicks, U5001.DISPLAYTIME, availablePacks[i].DisplayTime); string itemString = sb.ToString(); ListItem item = new ListItem(itemString, itemValue); PacksDropDown.Items.Insert(i, item); PacksDropDown.SelectedIndex = 0; } }
protected void PacksDropDown_SelectedIndexChanged(object sender, EventArgs e) { surfAdsPack = new SurfAdsPack(Convert.ToInt32(PacksDropDown.SelectedValue)); PackPriceLabel.Text = surfAdsPack.Price.ToClearString(); }
protected void Page_Load(object sender, EventArgs e) { User = Member.CurrentInCache; AccessManager.RedirectIfDisabled(AppSettings.TitanFeatures.AdvertSurfAdsEnabled && User.IsAdvertiser); RegularExpressionValidator2.ValidationExpression = RegexExpressions.AdWebsiteUrl; Form.Action = Request.RawUrl; if (!Page.IsPostBack) { BindDataToCampaignsDDL(); BindDataToPacksDDL(); Button1.Text = L1.BUY + " " + U5004.SURFADS; Button2.Text = U4200.ADVERTISEMENTS; Button3.Text = L1.MANAGE; NewAdPackAdvert = null; StartPageDescriptionLiteral.Visible = StartPagePlaceHolder.Visible = AppSettings.RevShare.AdPack.IsStartPageEnabled; if (User.Name == AppSettings.RevShare.AdminUsername) { AdminLiteral.Visible = true; AdminLiteral.Text = @"<br/><br/><b>Administrator's advertisements are automatically approved and will appear in the surf queue if there are not enough ads created by users (no need to buy Surf Ads).</b>"; StartPageDescriptionLiteral.Text = "<br/>Administrator's Start Pages will not be considered."; } else { AdminLiteral.Visible = false; StartPageDescriptionLiteral.Text = "<br/>" + U5001.STARTPAGEDESCRIPTION; } PurchaseStartPageCheckBox.Text = " " + L1.BUY + " " + U5001.STARTPAGE + "<span style='font-size:smaller'> (" + U5003.STARTPAGEINFO + ")</span>"; surfAdsPack = new SurfAdsPack(Convert.ToInt32(PacksDropDown.SelectedValue)); PackPriceLabel.Text = surfAdsPack.Price.ToClearString(); } ScriptManager.RegisterStartupScript(MultiViewUpdatePanel, GetType(), "TBChanged", "TBChanged();", true); LangAdder.Add(RegularExpressionValidator1, L1.ER_INVALIDTITLE); LangAdder.Add(UserNameRequired, L1.REQ_TITLE); HintAdder.Add(Title, L1.H_TITLE); LangAdder.Add(CorrectEmailRequired, L1.ER_BADDESC); HintAdder.Add(Description, L1.H_DESCRIPTION); LangAdder.Add(PasswordRequired, L1.REQ_URL); LangAdder.Add(RegularExpressionValidator2, L1.ER_BADURL); HintAdder.Add(URL, L1.H_URL); ChangeAdvertInfoPlaceholder.Visible = AppSettings.RevShare.AdPack.EnableAdvertChange; //JS changes URL.Attributes.Add("onfocus", "if (getElementById('" + URL.ClientID + "').value == 'http://') getElementById('" + URL.ClientID + "').value = ''"); bool hasAvailableAdverts = AdPackManager.HasAvailableAdverts(User.Id); DropDownAdsPlaceHolder.Visible = PurchaseButton.Visible = DropDownAdsPlaceHolder2.Visible = ChangeCampaignButton.Visible = hasAvailableAdverts; RedirectToNewAdsButton2.Visible = !hasAvailableAdverts; PurchaseButton.Text = L1.BUY; CreateAdButton.Text = U4200.CREATE; AdPacksAdGridView.EmptyDataText = U4200.NOADS; AdPacksAdGridView.Columns[2].HeaderText = L1.TITLE; AdPacksAdGridView.Columns[3].HeaderText = L1.DESCRIPTION; AdPacksAdGridView.Columns[4].HeaderText = U6008.ADDEDAS; AdPacksAdGridView.Columns[5].HeaderText = L1.STATUS; AdPacksAdGridView.Columns[6].HeaderText = U6008.TARGETURL; StartPageCalendarPanel.Visible = PurchaseStartPageCheckBox.Checked; }