public void IClicked(TrafficExchangeAdvert Ad) { //Handle direct ref if exists Member WhoFired = new Member(Username); if (WhoFired.HasReferer && WhoFired.IsRented == false) { Member OwnerUser = new Member(WhoFired.ReferrerId); HandleOwnerUser(OwnerUser, Ad, true); } }
private void HandleOwnerUser(Member OwnerUser, TrafficExchangeAdvert Ad, bool FiredByDirectReferral = false) { bool CreditMoney = OwnerUser.HasClickedEnoughToProfitFromReferrals(); if (CreditMoney) { var Earnings = TrafficExchangeAdvert.CalculateEarningsFromDirectReferralTE(OwnerUser, Ad); OwnerUser.AddToMainBalance(Earnings, "TE /ref/" + Username, BalanceLogType.Other); bool isFullSaveRequired1 = false; bool isFullSaveRequired2 = false; string inter = (OwnerUser.TotalEarned + Earnings).ToClearString(); Decimal tempMoney = Decimal.Parse(inter, new System.Globalization.CultureInfo("en-US")); isFullSaveRequired2 = OwnerUser.TryToAddAchievements( Prem.PTC.Achievements.Achievement.GetProperAchievements( Prem.PTC.Achievements.AchievementType.AfterEarning, Convert.ToInt32(tempMoney))); OwnerUser.IncreaseEarnings(Earnings); //OwnerUser.IncreaseStatClicks(1); //if (FiredByDirectReferral) // OwnerUser.IncreaseDRClicks(); //else // OwnerUser.IncreaseRRClicks(); if (isFullSaveRequired1 || isFullSaveRequired2) { OwnerUser.Save(); } else { OwnerUser.SaveBalances(); } } else { //OwnerUser.IncreaseStatClicks(1); //if (FiredByDirectReferral) // OwnerUser.IncreaseDRClicks(); //else // OwnerUser.IncreaseRRClicks(); //OwnerUser.SaveBalances(); } }
public Money CreditMember(TrafficExchangeAdvert Ad) { try { var referer = new Member(User.ReferrerId); Money DRCaltulated = TrafficExchangeAdvert.CalculateEarningsFromDirectReferralTE(referer, Ad); referer.AddToTrafficBalance(DRCaltulated, "Referrals Traffic Exchange", BalanceLogType.Other); referer.SaveBalances(); } catch (Exception e) { } Money Calculated = TrafficExchangeAdvert.CalculateNormalMemberEarningsTE(User, Ad); User.AddToTrafficBalance(Calculated, "Traffic Exchange", BalanceLogType.Other); User.SaveBalances(); return(Calculated); }
protected void CreateAdButton_Click(object sender, EventArgs e) { ErrorMessagePanel.Visible = false; if (Page.IsValid) { try { AppSettings.DemoCheck(); if (URLTextBox.Enabled) { throw new MsgException(U4200.CHECKURL); } int AdId = Convert.ToInt32((int)ViewState["TrafficExchangeCampaignId"]); Ad = new TrafficExchangeAdvert(AdId); if (Ad.Advertiser.MemberUsername != Member.CurrentName) { throw new MsgException("This is not your campaign."); } TrafficExchangeSubpage newsp = new TrafficExchangeSubpage(); newsp.AdId = AdId; newsp.SubPage = URLTextBox.Text; newsp.Save(); Response.Redirect("trafficexchange.aspx"); } catch (MsgException ex) { ErrorMessagePanel.Visible = true; ErrorMessage.Text = ex.Message; } catch (Exception ex) { ErrorLogger.Log(ex); throw ex; } } }
protected void DirectRefsGridView_RowCommand(object sender, GridViewCommandEventArgs e) { //We want to obey OnSort and OnChart events string[] commands = new string[5] { "start", "stop", "add", "addsubpage", "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 TrafficExchangeAdvert(Convert.ToInt32(AdId)); if (e.CommandName == "start") { Ad.Status = AdvertStatus.Active; Ad.SaveStatus(); Response.Redirect("trafficexchange.aspx"); } else if (e.CommandName == "stop") { Ad.Status = AdvertStatus.Paused; Ad.SaveStatus(); Response.Redirect("trafficexchange.aspx"); } else if (e.CommandName == "add") { Response.Redirect("trafficexchangecredits.aspx?id=" + AdId); } else if (e.CommandName == "addsubpage") { Response.Redirect("trafficexchangesubpages.aspx?id=" + AdId); } else if (e.CommandName == "remove") { Ad.Status = AdvertStatus.Deleted; Ad.SaveStatus(); Response.Redirect("trafficexchange.aspx"); } } }
protected void Page_Load(object sender, EventArgs e) { AccessManager.RedirectIfDisabled(AppSettings.TitanFeatures.AdvertisersRoleEnabled && AppSettings.TitanFeatures.AdvertTrafficExchangeEnabled && Member.CurrentInCache.IsAdvertiser); int AdId = Convert.ToInt32(Request.QueryString["id"]); Ad = new TrafficExchangeAdvert(AdId); //Lang & Hint LangAdder.Add(CreateAdButton, L1.BUY); TitleLabel.Text = Ad.Title; URLLabel.Text = Ad.TargetUrl; if (!Page.IsPostBack) { //Get Packs availableOptions = TableHelper.SelectRows <TrafficExchangeAdvertPack>(TableHelper.MakeDictionary("IsVisibleByMembers", true)); BindDataToDDL(); } }
protected void Page_Load(object sender, EventArgs e) { AccessManager.RedirectIfDisabled(AppSettings.TitanFeatures.AdvertisersRoleEnabled && AppSettings.TitanFeatures.AdvertTrafficExchangeEnabled && Member.CurrentInCache.IsAdvertiser); if (!string.IsNullOrWhiteSpace(Request.QueryString["id"])) { int AdId = Convert.ToInt32(Request.QueryString["id"]); Ad = new TrafficExchangeAdvert(AdId); if (Ad.Advertiser.MemberUsername != Member.CurrentName) { Response.Redirect("~/user/default.aspx"); } //Lang & Hint TitleLabel.Text = Ad.Title; URLLabel.Text = Ad.TargetUrl; ViewState["TrafficExchangeCampaignId"] = AdId; } }
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); } else { Response.Redirect("~/default.aspx"); } if (URL.Enabled) { throw new MsgException(U4200.CHECKURL); } TrafficExchangeAdvert Ad = new TrafficExchangeAdvert(); TrafficExchangeAdvertPack Pack = new TrafficExchangeAdvertPack(Int32.Parse(ddlOptions.SelectedValue)); Money AdCost = Pack.Price; //Set basics Ad.Title = InputChecker.HtmlEncode(Title.Text, Title.MaxLength, L1.TITLE); Ad.TargetUrl = URL.Text; if (TrafficSourceList.SelectedValue == "Anon") { Ad.Description = TrafficSource.Anonymous; } else { Ad.Description = TrafficSource.ThisWebsite; } if (chbGeolocation.Checked) { AdCost += AppSettings.PtcAdverts.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)) { Ad.GeolocatedCountries += CountryManager.GetCountryCode(s) + ","; } } } if (Member.IsLogged) { //Take money and save the user var note = TitanFeatures.IsAhmed ? "Flash Traffic advertising" : "Traffic Exchange advertising"; PurchaseOption.ChargeBalance(User, AdCost, PurchaseBalances.Traffic, note); Ad.Advertiser = Advertiser.AsMember(User.Name); Ad.Status = AdvertStatusExtensions.GetStartingStatus(); } //Add the ad to the db (for approval) Ad.Price = AdCost; Ad.Pack = Pack; Ad.Save(); if (Member.IsLogged) { //Add history entry 1 if (TitanFeatures.IsAhmed) { History.AddPurchase(User.Name, AdCost, "Flash Traffic advertising"); } else { History.AddPurchase(User.Name, AdCost, "Traffic Exchange advertising"); } //Add history entry 2 string entryText = ""; if (Pack.Ends.EndMode == End.Mode.Clicks) { entryText = (Convert.ToInt32(Pack.Ends.Value)).ToString() + " ad clicks"; } else if (Pack.Ends.EndMode == End.Mode.Days) { entryText = (Convert.ToInt32(Pack.Ends.Value)).ToString() + " ad days"; } History.AddPurchase(User.Name, Pack.Price, entryText); Title.Text = ""; URL.Text = ""; URL.Enabled = true; CheckURLButton.Visible = true; SuccMessagePanel.Visible = true; SuccMessage.Text = Ad.Status == AdvertStatus.WaitingForAcceptance ? U4200.ADAWAITSAPPROVAL : U3501.ADCREATED; } UsersTrafficBalanceLabel.Text = string.Format(U6008.YOURTRAFFICBALANCE, Member.CurrentInCache.TrafficBalance); } 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) { //The ad id [1] TrafficExchangeAdvert Ad = new TrafficExchangeAdvert(Convert.ToInt32(e.Row.Cells[1].Text)); //Description [22] if (string.IsNullOrEmpty(e.Row.Cells[22].Text)) { e.Row.Cells[22].Text = HtmlCreator.GetCheckboxUncheckedImage(); } else { e.Row.Cells[22].Text = HtmlCreator.GetCheckboxCheckedImage(); } //End mode [16] End.Mode Mode = (End.Mode)Convert.ToInt32(e.Row.Cells[16].Text); //Status [24] AdvertStatus Status = (AdvertStatus)Convert.ToInt32(e.Row.Cells[24].Text); e.Row.Cells[24].Text = HtmlCreator.GetColoredStatus(Status); //Subpages [25] e.Row.Cells[25].Text = "0"; var splist = TableHelper.SelectRows <TrafficExchangeSubpage>(TableHelper.MakeDictionary("PtcAdId", Ad.Id)); if (splist.Count > 0) { e.Row.Cells[25].Text = splist.Count + " (hover)"; foreach (var elem in splist) { e.Row.Cells[25].ToolTip += Ad.TargetUrl + elem.SubPage + "\n"; } } //Pack [3] AdvertPack Pack = new TrafficExchangeAdvertPack(Convert.ToInt32(e.Row.Cells[3].Text)); //Displaytime [17] e.Row.Cells[17].Text += "s"; //Shorten url [4] if (e.Row.Cells[4].Text.Length > 18) { e.Row.Cells[4].Text = e.Row.Cells[4].Text.Substring(0, 15) + "..."; } //TItle [5] e.Row.Cells[5].Text = e.Row.Cells[5].Text.Replace("<", "<"); e.Row.Cells[5].Text = e.Row.Cells[5].Text.Replace(">", ">"); //Progress [11] e.Row.Cells[11].Text = HtmlCreator.GenerateAdProgressHTML(Ad).Replace("clicks", L1.CLICKSSMALL).Replace("days", L1.DAYS); //Geolocation check [23] if (Ad.IsGeolocated) { e.Row.Cells[23].Text = HtmlCreator.GetCheckboxCheckedImage(); } else { e.Row.Cells[23].Text = HtmlCreator.GetCheckboxUncheckedImage(); } //Add % progress [12] e.Row.Cells[12].Text = Ad.ProgressInPercent.ToString() + "%"; //Add total views [13] e.Row.Cells[13].Text = e.Row.Cells[14].Text; // Start[27] Pause[28] Add [29] Remove[31] if (Status != AdvertStatus.Paused) { e.Row.Cells[27].Text = " "; } if (Status != AdvertStatus.Active) { e.Row.Cells[28].Text = " "; } if (Status != AdvertStatus.Finished) { e.Row.Cells[29].Text = " "; } if (!Status.CanBeRemoved()) { e.Row.Cells[31].Text = " "; } } }