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 (URL.Enabled) { throw new MsgException(U4200.CHECKURL); } TrafficGridAdvert Ad = new TrafficGridAdvert(); TrafficGridAdvertPack Pack = new TrafficGridAdvertPack(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 (Member.IsLogged) { //Take money and save the user var targetBalance = TargetBalanceRadioButtonList.TargetBalance; PurchaseOption.ChargeBalance(User, AdCost, TargetBalanceRadioButtonList.Feature, targetBalance, "TrafficGrid advertising"); Ad.TargetBalance = targetBalance; Ad.Advertiser = Advertiser.AsMember(User.Name); Ad.Status = AdvertStatusExtensions.GetStartingStatus(); } else { Ad.Advertiser = Advertiser.AsStranger(OutEmail.Text); Ad.Status = AdvertStatus.Null; } //Add the ad to the db (for approval) Ad.Price = AdCost; Ad.Pack = Pack; Ad.Save(); if (Member.IsLogged) { if (Ad.Status == AdvertStatus.Active || Ad.Status == AdvertStatus.Paused) { var Crediter = (TrafficGridCrediter)CrediterFactory.Acquire(User, Titan.CreditType.TrafficGrid); Crediter.CreditReferer(AdCost); } //Achievements trial int UserCurrentCampaigns = TableHelper.CountOf <TrafficGridAdvert>(TableHelper.MakeDictionary("CreatorUsername", User.Name)); bool ShouldBeSaved = User.TryToAddAchievements( Prem.PTC.Achievements.Achievement.GetProperAchievements( Prem.PTC.Achievements.AchievementType.AfterAdvertisingTrafficGridCampaigns, UserCurrentCampaigns)); if (ShouldBeSaved) { User.Save(); } //Add history entry 1 History.AddPurchase(User.Name, AdCost, "TrafficGrid campaign"); //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; MatrixBase.TryAddMemberAndCredit(User, Ad.Price, AdvertType.TrafficGrid); } else { //Show buttons CreateAdButton.Visible = false; PaymentButtons.Visible = true; PaymentButtons.Text = GenerateHTMLButtons.GetPaymentButtons(new BuyAdvertButtonGenerator <ITrafficGridAdvertPack>(Ad)); } } 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] TrafficGridAdvert Ad = new TrafficGridAdvert(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); //Pack [3] AdvertPack Pack = new TrafficGridAdvertPack(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] string ProgressBarStatus = ""; if (Status == AdvertStatus.Active) { ProgressBarStatus = "active"; } e.Row.Cells[11].Text = HtmlCreator.GenerateAdProgressHTML(Ad, ProgressBarStatus).Replace("clicks", L1.CLICKSSMALL).Replace("days", L1.DAYS); //Geolocation check [23] var check = (CheckBox)e.Row.Cells[23].Controls[0]; if (check.Checked) { 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[30] if (Status != AdvertStatus.Paused) { e.Row.Cells[27].Text = " "; } if (Status != AdvertStatus.Active) { e.Row.Cells[28].Text = " "; } e.Row.Cells[29].Text = " "; if (!Status.CanBeRemoved()) { e.Row.Cells[30].Text = " "; } } }