public static BannerBiddingDimensionsDictionary Initialize() { var result = new Dictionary <int, Dictionary <int, List <BannerAdvert> > >(); var dimensions = TableHelper.SelectAllRows <BannerAdvertDimensions>(); foreach (var dimension in dimensions) { var positionDictionary = new Dictionary <int, List <BannerAdvert> >(); List <BannerAdvert> adverts = new List <BannerAdvert>(); BannerAdvert current = BannerAuctionManager.GetCurrentBanner(dimension, 1); if (current != null) { adverts.Add(current); } if (adverts.Count == 0) { //Show Administrator banners var dict = new Dictionary <string, object>(); dict.Add("Status", (int)AdvertStatus.Active); dict.Add("BannerAdvertDimensionId", dimension.Id); dict.Add("CreatedBy", (int)Advertiser.Creator.Admin); adverts = TableHelper.SelectRows <BannerAdvert>(dict); } positionDictionary[1] = adverts; result.Add(dimension.Id, positionDictionary); } return(new BannerBiddingDimensionsDictionary(result)); }
protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["id"] != null) { var te = new Encryption(); int BannerId = te.DecryptBannerId(Request.Params["id"]); BannerAdvert banner = new BannerAdvert(BannerId); var list = getWatchedBannersCollection(); if (!list.Contains(BannerId) && !AppSettings.BannerAdverts.ImpressionsEnabled) { banner.Click(); list.Add(banner.Id); saveWatchedBannersCollection(list); } Response.Redirect(banner.TargetUrl); } else if (Request.QueryString["redirect"] != null) { string redirect = Request.QueryString["redirect"]; Response.Redirect("~/" + redirect); } else if (Request.QueryString["rid"] != null) { //RSA ads var te = new Encryption(); int BannerId = te.DecryptBannerId(Request.Params["rid"]); AdPacksAdvert banner = new AdPacksAdvert(BannerId); Response.Redirect(banner.TargetUrl); } }
private void buyAdvert(string advertTypeName, int advertId, Money money, string from, string transId, string cryptoCurrencyInfo) { var advert = (Advert)Activator.CreateInstance(Type.GetType(advertTypeName), new object[] { advertId }); //Prevent fraud transactions (GET price modifications)c //NOTE: {X}.XXX cost = {X}.XX received (1.051 = 1.05, 1.059 = 1.05) //That is why we add 0.009 bool successful = false; if ((money + new Money(0.009)) >= advert.Price) { successful = true; advert.Status = AdvertStatus.WaitingForAcceptance; advert.SaveStatus(); } //Earnings stats if (advert is BannerAdvert) { BannerAdvert thisAdvert = (BannerAdvert)advert; EarningsStatsManager.Add(EarningsStatsType.Banner, money); PoolDistributionManager.AddProfit(ProfitSource.Banners, money); } //AddLog PaymentProcessor PP = PaymentAccountDetails.GetFromStringType(from); CompletedPaymentLog.Create(PP, "Purchase Advertisement pack", transId, advert.Advertiser.CreatedBy == Advertiser.Creator.Stranger, advert.Advertiser.MemberUsername, money, Money.Zero, successful, cryptoCurrencyInfo); }
protected void DirectRefsGridView_RowCommand(object sender, GridViewCommandEventArgs e) { //We want to obey OnSort and OnChart events string[] commands = new string[3] { "start", "stop", "remove" }; if (commands.Contains(e.CommandName)) { int index = e.GetSelectedRowIndex() % DirectRefsGridView.PageSize; GridViewRow row = DirectRefsGridView.Rows[index]; string AdId = (row.Cells[1].Text.Trim()); var Ad = new BannerAdvert(Convert.ToInt32(AdId)); switch (e.CommandName) { case "start": Ad.Status = AdvertStatus.Active; break; case "stop": Ad.Status = AdvertStatus.Paused; break; case "remove": Ad.Status = AdvertStatus.Deleted; break; } Ad.SaveStatus(); ShowSuccPanel(); DirectRefsGridView.DataBind(); Response.Redirect("~/user/advert/banners.aspx"); } }
protected void BannerTypeRadioButtonList_SelectedIndexChanged(object sender, EventArgs e) { createBannerAdvertisement_BannerImage.ImageUrl = null; createBannerAdvertisement_BannerUpload.Dispose(); BannerFileUrlTextBox.Text = ""; NewBannerAdvert = null; DimensionsPlaceHolder.Controls.Clear(); }
protected void BannerTypeRadioButtonList_SelectedIndexChanged(object sender, EventArgs e) { BindDataToDDL(new BannerAdvertDimensions(Convert.ToInt32(BannerTypeRadioButtonList.SelectedValue))); createBannerAdvertisement_BannerImage.ImageUrl = null; createBannerAdvertisement_BannerUpload.Dispose(); BannerFileUrlTextBox.Text = ""; NewBannerAdvert = null; }
public Image GetBannerImage(BannerAdvert advert) { Image banner = new Image(); banner.ImageUrl = advert.ImagePath; banner.CssClass = "img-responsive"; return(banner); }
protected void BidButton_Click(object sender, EventArgs e) { BannerAuction target = this.target; ErrPanel.Visible = false; SucPanel.Visible = false; try { BannerAdvert advert = new BannerAdvert(Convert.ToInt32(ddlOptions.SelectedValue)); Member User = Member.Current; Money bidValue = target.NextMinBidValue; //Status check if (target.Status != BannerAuctionStatus.Opened) { throw new MsgException(U4000.AUCTIONCLOSED); } //Balance check if (bidValue > User.PurchaseBalance) { throw new MsgException(L1.NOTENOUGHFUNDS); } //Take money User.SubtractFromPurchaseBalance(bidValue, "Banner bid"); User.SaveBalances(); //Add bid BannerBid bid = new BannerBid(); bid.BidValue = bidValue; bid.BannerAdvertId = advert.Id; bid.BannerAuctionId = target.Id; bid.Username = User.Name; BannerAuctionManager.AddBid(bid, target, User); //Refresh bids field GenerateBidFields(target); PlaceBidPanel.Visible = false; SucPanel.Visible = true; SucMess.Text = U4000.BIDPLACED; AuctionGrid.DataBind(); } catch (MsgException ex) { ErrPanel.Visible = true; ErrMess.Text = ex.Message; } catch (Exception ex) { ErrorLogger.Log(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 > 39) { e.Row.Cells[3].Text = e.Row.Cells[3].Text.Substring(0, 36) + "..."; } //End mode [14] End.Mode Mode = (End.Mode)Convert.ToInt32(e.Row.Cells[14].Text); //Status [15] AdvertStatus Status = (AdvertStatus)Convert.ToInt32(e.Row.Cells[15].Text); e.Row.Cells[15].Text = HtmlCreator.GetColoredStatus(Status); //Remove [18] if (!Status.CanBeRemoved()) { e.Row.Cells[18].Text = " "; } //Paused = APPROVED if (Status == AdvertStatus.Paused) { e.Row.Cells[15].Text = "<span style=\"color:#\">" + U4000.APPROVED + "</span>"; } } else if (e.Row.RowType == DataControlRowType.Header) { e.Row.Cells[12].Text = AppSettings.BannerAdverts.ImpressionsEnabled ? L1.IMPRESSIONS : L1.CLICKS; } }
public string ToString(int place, bool isPaid = false) { //Generate HTML StringBuilder sb = new StringBuilder(); //<div class="bannerBid"> // <h3>1: $4.54</h3> // <div class="bannerBidPaid">PAID: 101%</div><br /> // <img src="dupa" /> <br /> // Username: asdasdfsdf<br /> // http://onet.pl // </div> BannerAdvert TargetBanner = this.Banner; string url = (HttpContext.Current.Handler as Page).ResolveUrl(TargetBanner.ImagePath); sb.Append("<div class=\"bannerBid\"><h3>") .Append(place) .Append(": ") .Append(BidValue.ToString()) .Append("</h3>"); if (isPaid) { sb.Append("<div class=\"bannerBidPaid\">"); sb.Append(Resources.U4000.PAID); sb.Append(": "); sb.Append(AppSettings.BannerAdverts.LostBidsReturnPercent); sb.Append("%</div><br />"); } sb.Append("<img src=\""); sb.Append(url); sb.Append("\" class=\"bannerBidImage\" /> <br/>"); sb.Append(Resources.L1.USERNAME); sb.Append(": "); sb.Append(Username) .Append("<br/><i>") .Append(TargetBanner.TargetUrl) .Append("</i></div>"); return(sb.ToString()); }
protected void DirectRefsGridView_RowCommand(object sender, GridViewCommandEventArgs e) { //We want to obey OnSort and OnChart events string[] commands = new string[1] { "remove" }; if (commands.Contains(e.CommandName)) { int index = e.GetSelectedRowIndex() % DirectRefsGridView.PageSize; GridViewRow row = DirectRefsGridView.Rows[index]; string AdId = (row.Cells[1].Text.Trim()); var Ad = new BannerAdvert(Convert.ToInt32(AdId)); if (e.CommandName == "remove") { Ad.Status = AdvertStatus.Deleted; Ad.SaveStatus(); RedirectToStart(); } } }
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; } }
public static Control GetBanner(BannerAdvertDimensions dimensions, Page page, int position = 1) { allBanners = TryGetFromCache(dimensions, page, position); List <BannerAdvert> allBannersFiltered = new List <BannerAdvert>(); if (AppSettings.BannerAdverts.AdvertisingPolicy == BannerPolicy.SellingPackages) { Member User = null; if (Member.IsLogged) { User = Member.CurrentInCache; } foreach (var elem in allBanners) { if (!elem.IsGeolocated) { allBannersFiltered.Add(elem); } else if (elem.IsGeolocated && Member.IsLogged && elem.BannedCountries.Contains(User.Country)) { allBannersFiltered.Add(elem); } } } else { allBannersFiltered = allBanners; //No geolocation in Banner Bidding } _workingBanner = new HyperLink(); int bannerIndex = random.Next(0, allBannersFiltered.Count); _workingBanner = (HyperLink)GetPanelWithDimensionsAndBorder(dimensions, _workingBanner); if (allBannersFiltered.Count > 0) { BannerAdvert ChoosenBanner = allBannersFiltered[bannerIndex]; var te = new Encryption(); HttpContext.Current.Session["SurfBannerAdvertID"] = ChoosenBanner.Id; if (ChoosenBanner.ShouldBeFinished) { ChoosenBanner.Status = AdvertStatus.Finished; ChoosenBanner.SaveStatus(); } if (AppSettings.BannerAdverts.ImpressionsEnabled) { //Count impression ChoosenBanner.Click(); } //Dynamic banner (HTML code instead of image) if (ChoosenBanner.IsDynamic) { Panel panel = new Panel(); panel = (Panel)GetPanelWithDimensionsAndBorder(dimensions, panel); Literal literal = new Literal(); literal.Text = ChoosenBanner.BannerHTML; panel.Controls.Add(literal); return(panel); } dimensions = ChoosenBanner.Dimensions; var Helper = new BannerDisplayerHelper(dimensions); //Now lets create Image Web Control and return it _workingBanner.Target = "_blank"; _workingBanner.NavigateUrl = AppSettings.Site.Url + "link.aspx?id=" + te.EncryptBannerId(ChoosenBanner.Id); _workingBanner.Controls.Clear(); _workingBanner.Controls.Add(Helper.GetBannerImage(ChoosenBanner)); } return(_workingBanner); }