public EmailLinks BuildFromRow(DataRow row) { var returnRecord = EmailLinks.BuildEmailLinksFromRow(row); returnRecord = this.BuildExtraFromRow <EmailLinks>(returnRecord, row); return(returnRecord); }
public EmailLinks Insert(EmailLinks record) { DataRow row = this.dataSet.ttblemailLinks.NewttblemailLinksRow(); this.UpdateToRow(ref row, record); this.ExtraUpdateToRow(ref row, record); this.dataSet.ttblemailLinks.AddttblemailLinksRow((pdsemailLinksDataSet.ttblemailLinksRow)row); this.SaveChanges(); return(this.dataSet.ttblemailLinks.Rows.Count > 0 ? this.BuildFromRow(this.dataSet.ttblemailLinks.Rows[0]) : null); }
public EmailLinks GetByRowId(string rowId, string fldList) { var row = this.GetRowByRowId(rowId, fldList); EmailLinks emailLinks = null; if (row != null) { emailLinks = this.BuildFromRow(row); } return(emailLinks); }
protected EmailLinks Fetch(string where, int batchsize, string fldList) { this.FetchWhere(where, batchsize, fldList); var row = this.dataSet.ttblemailLinks.AsEnumerable().SingleOrDefault(); EmailLinks emailLinks = null; if (row != null) { emailLinks = this.BuildFromRow(row); } return(emailLinks); }
private string CreateClickTracking(int emailId, string input) { var doc = new HtmlDocument(); doc.LoadHtml(input); int linkIndex = 0; using (var md5Hash = MD5.Create()) { var linkList = doc.DocumentNode.SelectNodes("//a[@href]"); if (linkList == null) { return(doc.DocumentNode.OuterHtml); } foreach (HtmlNode link in linkList) { var att = link.Attributes["href"]; var url = att.Value; if (EmailReplacements.IsSpecialLink(url)) { continue; } if (url.StartsWith("mailto:")) { continue; } if (EmailReplacements.SettingUrlRe.IsMatch(url)) { url = EmailReplacements.SettingUrlReplacement(this, url); } var hash = HashMd5Base64(md5Hash, url + DateTime.Now.ToString("o") + linkIndex); var emailLink = new EmailLink { Created = DateTime.Now, EmailID = emailId, Hash = hash, Link = url }; EmailLinks.InsertOnSubmit(emailLink); SubmitChanges(); att.Value = ServerLink($"/ExternalServices/ct?l={HttpUtility.UrlEncode(hash)}"); linkIndex++; } } return(doc.DocumentNode.OuterHtml); }
public void Delete(EmailLinks record) { var row = this.GetRowByRowId(record.rowID, string.Empty); if (row == null) { row = this.dataSet.ttblemailLinks.NewttblemailLinksRow(); EmailLinks.BuildMinimalRow(ref row, record); this.dataSet.ttblemailLinks.AddttblemailLinksRow((pdsemailLinksDataSet.ttblemailLinksRow)row); } row.Delete(); this.SaveChanges(); }
public EmailLinks Update(EmailLinks record) { var row = this.GetRowByRowId(record.rowID, string.Empty); if (row != null) { this.UpdateToRow(ref row, record); this.ExtraUpdateToRow(ref row, record); this.SaveChanges(); return(this.dataSet.ttblemailLinks.Rows.Count > 0 ? this.BuildFromRow(this.dataSet.ttblemailLinks.Rows[0]) : null); } ErrorReportingHelper.ReportErrors("global.update.doesnotexist", 421); return(null); }
private string CreateClickTracking(int emailId, string input) { var doc = new HtmlDocument(); doc.LoadHtml(input); int linkIndex = 0; using (var md5Hash = MD5.Create()) { var linkList = doc.DocumentNode.SelectNodes("//a[@href]"); if (linkList == null) { return(doc.DocumentNode.OuterHtml); } foreach (HtmlNode link in linkList) { var att = link.Attributes["href"]; if (EmailReplacements.IsSpecialLink(att.Value)) { continue; } var hash = HashMd5Base64(md5Hash, att.Value + DateTime.Now.ToString("o") + linkIndex); var emailLink = new EmailLink { Created = DateTime.Now, EmailID = emailId, Hash = hash, Link = att.Value }; EmailLinks.InsertOnSubmit(emailLink); SubmitChanges(); att.Value = ServerLink($"/ExternalServices/ct?l={HttpUtility.UrlEncode(hash)}"); linkIndex++; //System.Diagnostics.Debug.WriteLine(att.Value); //System.Diagnostics.Debug.WriteLine("Unhashed: " + att.Value + DateTime.Now.ToString("o")); //System.Diagnostics.Debug.WriteLine("Hashed: " + hashMD5Base64( md5Hash, att.Value + DateTime.Now.ToString("o") ) ); } } return(doc.DocumentNode.OuterHtml); }
public void Delete(EmailLinks record) { this.adapter.Delete(record); }
public EmailLinks Update(EmailLinks record) { return(this.adapter.Update(record)); }
public EmailLinks Insert(EmailLinks record) { return(this.adapter.Insert(record)); }
public void UpdateToRow(ref DataRow row, EmailLinks record) { EmailLinks.UpdateRowFromEmailLinks(ref row, record); this.ExtraUpdateToRow(ref row, record); }
public void Delete(EmailLinks record) { this.repository.Delete(record); }
public EmailLinks Update(EmailLinks record) { return(this.repository.Update(record)); }
public EmailLinks Insert(EmailLinks record) { return(this.repository.Insert(record)); }