public void CustomTrackUrls(string MailingID) { CampaignMasterPrimaryKey pk = new CampaignMasterPrimaryKey(Convert.ToInt64(MailingID)); CampaignMaster objCampMaster = CampaignMaster.SelectOneWithCampaignJobUsingCampaignMasterID(pk, ConnectionString); if (objCampMaster != null) { CustomLabel objCustomLabel1 = new CustomLabel(ConnectionString); Int64 CampaignId = Convert.ToInt32(MailingID); Int64 TemplateId = Convert.ToInt64(objCampMaster.TemplateId); DataTable CusLabel = objCustomLabel1.getCustomLabel(TemplateId, CampaignId); htmlContent = objCampMaster.HTMLContent; string linkids = string.Empty; #region this logic will add click link to the content if (htmlContent.Contains("!RPLINK")) { string[] startDelimiter = new string[] { "[!RPLINK:" }; string[] endDelimiter = new string[] { "!]" }; string[] splittedContent = htmlContent.Split(startDelimiter, StringSplitOptions.None); string LinkURL = string.Empty; for (int i = 1; i < splittedContent.Length; i++) { string linkID = splittedContent[i].Split(endDelimiter, StringSplitOptions.None)[0]; if ((linkID != "MIRRORWEBLINK") && (linkID != "LISTUNSUBSCRIBE") && (linkID != "FORWARDTOFRIEND") && (linkID != "GLOBALUNSUBSCRIBE") && (linkID != "NewLink") && (linkID != "ExLink") && (linkID != "DeclineLink")) { linkids = linkids + linkID + ","; } } } if(linkids.EndsWith(",")) linkids = linkids.Substring(0, linkids.Length - 1); if (linkids.Trim().Length > 0) { con = new SqlConnection(ConnectionString); SqlDataAdapter da = new SqlDataAdapter(" select * from LinkDetails where ID in (" + linkids + ")", con); DataSet linkset = new DataSet(); da.Fill(linkset); grdLinkDetails.DataSource = linkset; grdLinkDetails.DataBind(); } else lblMsg.Text = "No Links Found"; #endregion } else lblMsg.Text="Mailing with ID "+hdMailingID.Value+" not exist"; }
public void CustomTrackUrls() { if (hiddenCampaignID.Value == string.Empty) { ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Success", "alert('Please save the Mailing to avail this option.')", true); } else { bindTemplates(); CustomLabel objCustomLabel1 = new CustomLabel(ConnectionString); Int64 CampaignId = Convert.ToInt32(hiddenCampaignID.Value); Int64 TemplateId = (ddlTemplate.SelectedItem.Value != defaultListItem) ? Convert.ToInt32(ddlTemplate.SelectedItem.Value) : 0; DataTable CusLabel = objCustomLabel1.getCustomLabel(TemplateId, CampaignId); string customLabelingDivContent = "<table widht=\"670px\"><tbody><th widht=\"200px\" Align=\"left\"><B>Label</B></th><th widht=\"470px\" Align=\"left\"><B>URL</B></th>"; htmlContent = RadEditor1.Content; #region this logic will add click link to the content if (htmlContent.Contains("!RPLINK")) { string[] startDelimiter = new string[] { "[!RPLINK:" }; string[] endDelimiter = new string[] { "!]" }; string[] splittedContent = htmlContent.Split(startDelimiter, StringSplitOptions.None); string LinkURL = string.Empty; for (int i = 1; i < splittedContent.Length; i++) { string linkID = splittedContent[i].Split(endDelimiter, StringSplitOptions.None)[0]; //get linkDetails using linkID. if (!string.IsNullOrEmpty(linkID)) { if ((linkID != "MIRRORWEBLINK") && (linkID != "LISTUNSUBSCRIBE") && (linkID != "FORWARDTOFRIEND") && (linkID != "GLOBALUNSUBSCRIBE")) { LinkDetailPrimaryKey objLinkDetail = new LinkDetailPrimaryKey(Convert.ToInt64(linkID)); LinkDetail linkData = LinkDetail.SelectOne(objLinkDetail, ConnectionString); if (linkData.LinkURL.ToLower().Contains("http://")) linkData.LinkURL = linkData.LinkURL.Replace("http://", ""); LinkURL = linkData.LinkURL; if (linkData != null) { if (htmlContent.ToLower().Contains(linkID)) { htmlContent = htmlContent.Replace(startDelimiter[0] + linkID + endDelimiter[0], LinkURL.ToString()); } } } } } } #endregion string textContent = textRadEditor.Content; #region this logic will add click link to the content if (textContent.Contains("!RPLINK")) { string[] startDelimiter = new string[] { "[!RPLINK:" }; string[] endDelimiter = new string[] { "!]" }; string[] splittedContent = textContent.Split(startDelimiter, StringSplitOptions.None); string LinkURL = string.Empty; for (int i = 1; i < splittedContent.Length; i++) { string linkID = splittedContent[i].Split(endDelimiter, StringSplitOptions.None)[0]; //get linkDetails using linkID. if (!string.IsNullOrEmpty(linkID)) { if ((linkID != "MIRRORWEBLINK") && (linkID != "LISTUNSUBSCRIBE") && (linkID != "FORWARDTOFRIEND") && (linkID != "GLOBALUNSUBSCRIBE")) { LinkDetailPrimaryKey objLinkDetail = new LinkDetailPrimaryKey(Convert.ToInt64(linkID)); LinkDetail linkData = LinkDetail.SelectOne(objLinkDetail, ConnectionString); if (linkData.LinkURL.ToLower().Contains("http://")) linkData.LinkURL = linkData.LinkURL.Replace("http://", ""); LinkURL = linkData.LinkURL; if (linkData != null) { if (textContent.ToLower().Contains(linkID)) { textContent = textContent.Replace(startDelimiter[0] + linkID + endDelimiter[0], LinkURL.ToString()); } } } } } } #endregion if (textContent != string.Empty) { textContent = textContent.Replace(""", "\""); textContent = textContent.Replace("<", "<"); textContent = textContent.Replace(">", ">"); } if (htmlContent != string.Empty) HTMLlist = LinkFinder(htmlContent); if (textContent != string.Empty) Textlist = LinkFinder(textContent); if (Textlist.Count > 0) HTMLlist = HTMLlist.Concat(Textlist).ToList(); List<string> URLlist = new List<string>(); for (int i = 0; i < HTMLlist.Count; i++) { URLlist.Add(HTMLlist[i].Href); } URLlist = URLlist.Distinct().ToList(); if (CusLabel.Rows.Count != URLlist.Distinct().ToList().Count && CusLabel.Rows.Count > 0) { for (int i = 0; i < CusLabel.Rows.Count; i++) { for (int j = 0; j < URLlist.Count; j++) { if (URLlist[j] == CusLabel.Rows[i]["LinkURL"].ToString()) URLlist.RemoveAt(j); } } if (URLlist.Count > 0) { for (int i = 0; i < URLlist.Count; i++) { string txtBoxId = "txt" + i; string divId = "div" + i; customLabelingDivContent += "<tr widht=\"670px\"><td widht=\"200px\"><input type=\"text\" id='" + txtBoxId + "'runat=\"server\" value='" + URLlist[i] + "'></td><td><div id='" + divId + "'style=\"width:470px; word-wrap: break-word\">" + URLlist[i] + "</div></td></tr>"; } } } if (CusLabel.Rows.Count != 0) { for (int loopcount = 0; loopcount < CusLabel.Rows.Count; loopcount++) { string txtBoxId = "txt" + loopcount; string divId = "div" + loopcount; string str = string.Empty; string url = string.Empty; str = CusLabel.Rows[loopcount]["CustomLabel"].ToString(); url = CusLabel.Rows[loopcount]["LinkURL"].ToString(); customLabelingDivContent += "<tr widht=\"670px\"><td widht=\"200px\"><input type=\"text\" id='" + txtBoxId + "'runat=\"server\" value='" + str + "'></td><td><div id='" + divId + "'style=\"width:470px; word-wrap: break-word\">" + url + "</div></td></tr>"; } customLabelingDivContent += "</tbody></table>"; customLabeling.InnerHtml = customLabelingDivContent; customLabeling.Visible = true; } else if (URLlist.Count > 0) { for (int i = 0; i < URLlist.Count; i++) { string txtBoxId = "txt" + i; string divId = "div" + i; customLabelingDivContent += "<tr widht=\"670px\"><td widht=\"200px\"><input type=\"text\" id='" + txtBoxId + "'runat=\"server\" value='" + URLlist[i] + "'></td><td><div id='" + divId + "'style=\"width:470px; word-wrap: break-word\">" + URLlist[i] + "</div></td></tr>"; } customLabelingDivContent += "</tbody></table>"; customLabeling.InnerHtml = customLabelingDivContent; customLabeling.Visible = true; } else { customLabelingDivContent += "<tr><td> No Links Found</td></tr>"; } } }