private void FillBody() { NewsletterDetails record = SiteProvider.Newsletters.GetNewsletterByID(this.ID); this.PlainTextBody = record.PlainTextBody; this.HtmlBody = record.HtmlBody; }
/// <summary> /// Sends a newsletter /// </summary> public static int SendNewsletter(string subject, string plainTextBody, string htmlBody) { Lock.AcquireWriterLock(Timeout.Infinite); Newsletter.TotalMails = -1; Newsletter.SentMails = 0; Newsletter.PercentageCompleted = 0.0; Newsletter.IsSending = true; Lock.ReleaseWriterLock(); // if the HTML body is an empty string, use the plain-text body converted to HTML if (htmlBody.Trim().Length == 0) { htmlBody = Helpers.ConvertToHtml(plainTextBody); } // create the record into the DB NewsletterDetails record = new NewsletterDetails(0, DateTime.Now, BizObject.CurrentUserName, subject, plainTextBody, htmlBody); int ret = SiteProvider.Newsletters.InsertNewsletter(record); BizObject.PurgeCacheItems("newsletters_newsletters_" + DateTime.Now.ToShortDateString()); // send the newsletters asynchronously object[] parameters = new object[] { subject, plainTextBody, htmlBody, BizObject.CurrentUserName.ToLower() == "sampleeditor", HttpContext.Current }; ParameterizedThreadStart pts = new ParameterizedThreadStart(SendEmails); Thread thread = new Thread(pts); thread.Name = "SendEmails"; thread.Priority = ThreadPriority.BelowNormal; thread.Start(parameters); return(ret); }
/// <summary> /// Updates an existing newsletter /// </summary> public static bool UpdateNewsletter(int id, string subject, string plainTextBody, string htmlBody) { NewsletterDetails record = new NewsletterDetails(id, DateTime.Now, "", subject, plainTextBody, htmlBody); bool ret = SiteProvider.Newsletters.UpdateNewsletter(record); BizObject.PurgeCacheItems("newsletters_newsletter"); return(ret); }
/// <summary> /// Returns a Newsletter object filled with the data taken from the input NewsletterDetails /// </summary> private static Newsletter GetNewsletterFromNewsletterDetails(NewsletterDetails record) { if (record == null) { return(null); } else { return(new Newsletter(record.ID, record.AddedDate, record.AddedBy, record.Subject, record.PlainTextBody, record.HtmlBody)); } }
/// <summary> /// Updates a newsletter /// </summary> public override bool UpdateNewsletter(NewsletterDetails newsletter) { using (SqlConnection cn = new SqlConnection(this.ConnectionString)) { SqlCommand cmd = new SqlCommand("tbh_Newsletters_UpdateNewsletter", cn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@NewsletterID", SqlDbType.Int).Value = newsletter.ID; cmd.Parameters.Add("@Subject", SqlDbType.NVarChar).Value = newsletter.Subject; cmd.Parameters.Add("@PlainTextBody", SqlDbType.NText).Value = newsletter.PlainTextBody; cmd.Parameters.Add("@HtmlBody", SqlDbType.NText).Value = newsletter.HtmlBody; cn.Open(); int ret = ExecuteNonQuery(cmd); return(ret == 1); } }
/// <summary> /// Creates a new newsletter /// </summary> public override int InsertNewsletter(NewsletterDetails newsletter) { using (SqlConnection cn = new SqlConnection(this.ConnectionString)) { SqlCommand cmd = new SqlCommand("tbh_Newsletters_InsertNewsletter", cn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@AddedDate", SqlDbType.DateTime).Value = newsletter.AddedDate; cmd.Parameters.Add("@AddedBy", SqlDbType.NVarChar).Value = newsletter.AddedBy; cmd.Parameters.Add("@Subject", SqlDbType.NVarChar).Value = newsletter.Subject; cmd.Parameters.Add("@PlainTextBody", SqlDbType.NText).Value = newsletter.PlainTextBody; cmd.Parameters.Add("@HtmlBody", SqlDbType.NText).Value = newsletter.HtmlBody; cmd.Parameters.Add("@NewsletterID", SqlDbType.Int).Direction = ParameterDirection.Output; cn.Open(); int ret = ExecuteNonQuery(cmd); return (int)cmd.Parameters["@NewsletterID"].Value; } }
/// <summary> /// Creates a new newsletter /// </summary> public override int InsertNewsletter(NewsletterDetails newsletter) { using (SqlConnection cn = new SqlConnection(this.ConnectionString)) { SqlCommand cmd = new SqlCommand("tbh_Newsletters_InsertNewsletter", cn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@AddedDate", SqlDbType.DateTime).Value = newsletter.AddedDate; cmd.Parameters.Add("@AddedBy", SqlDbType.NVarChar).Value = newsletter.AddedBy; cmd.Parameters.Add("@Subject", SqlDbType.NVarChar).Value = newsletter.Subject; cmd.Parameters.Add("@PlainTextBody", SqlDbType.NText).Value = newsletter.PlainTextBody; cmd.Parameters.Add("@HtmlBody", SqlDbType.NText).Value = newsletter.HtmlBody; cmd.Parameters.Add("@NewsletterID", SqlDbType.Int).Direction = ParameterDirection.Output; cn.Open(); int ret = ExecuteNonQuery(cmd); return((int)cmd.Parameters["@NewsletterID"].Value); } }
/// <summary> /// Updates a newsletter /// </summary> public override bool UpdateNewsletter(NewsletterDetails newsletter) { using (SqlConnection cn = new SqlConnection(this.ConnectionString)) { SqlCommand cmd = new SqlCommand("tbh_Newsletters_UpdateNewsletter", cn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@NewsletterID", SqlDbType.Int).Value = newsletter.ID; cmd.Parameters.Add("@Subject", SqlDbType.NVarChar).Value = newsletter.Subject; cmd.Parameters.Add("@PlainTextBody", SqlDbType.NText).Value = newsletter.PlainTextBody; cmd.Parameters.Add("@HtmlBody", SqlDbType.NText).Value = newsletter.HtmlBody; cn.Open(); int ret = ExecuteNonQuery(cmd); return (ret == 1); } }