protected void CreateAdButton_Click(object sender, EventArgs e) { ErrorMessagePanel.Visible = false; SuccMessagePanel.Visible = false; if (Page.IsValid) { try { AppSettings.DemoCheck(); Member User = null; if (Member.IsLogged) { User = Member.Logged(Context); } if (ddlOptions.SelectedItem == null) { throw new MsgException(U6002.BANNERPACKERROR); } BannerAdvertPack Pack = new BannerAdvertPack(Int32.Parse(ddlOptions.SelectedValue)); Money AdCost = Pack.Price; if (chbGeolocation.Checked) { AdCost += AppSettings.BannerAdverts.GeolocationCost; //Now get it from client-state var CTable = Request.Form[GeoCountriesValues.Name].Substring(1).Split('#'); var geoUList = GeolocationUtils.GeoCountData.Keys; foreach (string s in CTable) { if (geoUList.Contains <string>(s)) { NewBannerAdvert.BannedCountries.Add(s); } } } if (Member.IsLogged) { var targetBalance = TargetBalanceRadioButtonList.TargetBalance; PurchaseOption.ChargeBalance(User, AdCost, TargetBalanceRadioButtonList.Feature, targetBalance, "Banner campaign"); NewBannerAdvert.Advertiser = Advertiser.AsMember(User.Name); NewBannerAdvert.Status = AdvertStatusExtensions.GetStartingStatus(); NewBannerAdvert.TargetBalance = targetBalance; } else { NewBannerAdvert.Advertiser = Advertiser.AsStranger(OutEmail.Text); NewBannerAdvert.Status = AdvertStatus.Null; } //Set basics - add to db NewBannerAdvert.TargetUrl = URL.Text; NewBannerAdvert.Pack = Pack; NewBannerAdvert.Price = AdCost; NewBannerAdvert.Save(); if (Member.IsLogged) { if (AppSettings.BannerAdverts.AdvertisingPolicy != BannerPolicy.BannerBidding && (NewBannerAdvert.Status == AdvertStatus.Active || NewBannerAdvert.Status == AdvertStatus.Paused)) { BannerCrediter crediter = new BannerCrediter(User); Money moneyLeftForPools = crediter.CreditReferer(NewBannerAdvert.Price); PoolDistributionManager.AddProfit(ProfitSource.Banners, moneyLeftForPools); } //Achievements trial int UserCurrentCampaigns = TableHelper.CountOf <BannerAdvert>(TableHelper.MakeDictionary("CreatorUsername", User.Name)); bool ShouldBeSaved = User.TryToAddAchievements( Prem.PTC.Achievements.Achievement.GetProperAchievements( Prem.PTC.Achievements.AchievementType.AfterAdvertisingBannerCampaigns, UserCurrentCampaigns)); if (ShouldBeSaved) { User.Save(); } //Add history entry 1 History.AddPurchase(User.Name, AdCost, "Banner campaign"); SuccMessagePanel.Visible = true; SuccMessage.Text = U3501.ADCREATED; //Earning stats EarningsStatsManager.Add(EarningsStatsType.Banner, AdCost); MatrixBase.TryAddMemberAndCredit(User, AdCost, AdvertType.Banner); Response.Redirect("banners.aspx"); } else { //Show buttons PaymentButtons.Visible = true; CreateAdButton.Visible = false; PaymentButtons.Text = GenerateHTMLButtons.GetPaymentButtons( new BuyAdvertButtonGenerator <IBannerAdvertPack>(NewBannerAdvert)); } Session["YourCampaigns_NewBannerAdvert"] = null; } catch (MsgException ex) { ErrorMessagePanel.Visible = true; ErrorMessage.Text = ex.Message; } catch (Exception ex) { ErrorLogger.Log(ex); throw ex; } } }
protected void DirectRefsGridView_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { BannerAdvert BannerAd = new BannerAdvert(Convert.ToInt32(e.Row.Cells[1].Text)); //Image [4] var Imag = new Image(); Imag.ImageUrl = e.Row.Cells[4].Text; Imag.Height = Unit.Percentage(33); e.Row.Cells[4].Text = ""; e.Row.Cells[4].Controls.Add(Imag); //Shorten url [3] if (e.Row.Cells[3].Text.Length > 19) { e.Row.Cells[3].Text = e.Row.Cells[3].Text.Substring(0, 16) + "..."; } //End mode [15] End.Mode Mode = (End.Mode)Convert.ToInt32(e.Row.Cells[15].Text); //Pack [2] BannerAdvertPack Pack = new BannerAdvertPack(Convert.ToInt32(e.Row.Cells[2].Text)); //Status [16] AdvertStatus Status = (AdvertStatus)Convert.ToInt32(e.Row.Cells[16].Text); e.Row.Cells[16].Text = HtmlCreator.GetColoredStatus(Status); //Progress [10] e.Row.Cells[10].Text = HtmlCreator.GenerateAdProgressHTML(BannerAd).Replace("Clicks", L1.CLICKSSMALL).Replace("days", L1.DAYS); if (AppSettings.BannerAdverts.ImpressionsEnabled) { e.Row.Cells[10].Text = e.Row.Cells[10].Text.Replace(L1.CLICKSSMALL, L1.IMPRESSIONSSMALL); } //% [11] e.Row.Cells[11].Text = BannerAd.ProgressInPercent.ToString() + "%"; //start [20] stop [21] remove[22] if (Status != AdvertStatus.Paused) { e.Row.Cells[20].Text = " "; } if (Status != AdvertStatus.Active) { e.Row.Cells[21].Text = " "; } if (!Status.CanBeRemoved()) { e.Row.Cells[22].Text = " "; } //geo [19] if (BannerAd.IsGeolocated) { e.Row.Cells[19].Text = HtmlCreator.GetCheckboxCheckedImage(); } else { e.Row.Cells[19].Text = HtmlCreator.GetCheckboxUncheckedImage(); } } else if (e.Row.RowType == DataControlRowType.Header) { e.Row.Cells[13].Text = AppSettings.BannerAdverts.ImpressionsEnabled ? L1.IMPRESSIONS : L1.CLICKS; } }