protected virtual NewsletterDetails GetNewsletterFromReader(IDataReader reader, bool readBody)
        {
            NewsletterDetails newsletter = new NewsletterDetails(
                (int)reader["NewsletterID"],
                (DateTime)reader["AddedDate"],
                reader["AddedBy"].ToString(),
                reader["Subject"].ToString(),
                null, null);

            if (readBody)
            {
                newsletter.PlainTextBody = reader["PlainTextBody"].ToString();
                newsletter.HtmlBody      = reader["HtmlBody"].ToString();
            }

            return(newsletter);
        }
 /// <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 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>
        /// 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;
        }
        protected virtual NewsletterDetails GetNewsletterFromReader(IDataReader reader, bool readBody)
        {
            NewsletterDetails newsletter = new NewsletterDetails(
            (int)reader["NewsletterID"],
            (DateTime)reader["AddedDate"],
            reader["AddedBy"].ToString(),
            reader["Subject"].ToString(),
            null, null);

             if (readBody)
             {
            newsletter.PlainTextBody = reader["PlainTextBody"].ToString();
            newsletter.HtmlBody = reader["HtmlBody"].ToString();
             }

             return newsletter;
        }
 public abstract bool UpdateNewsletter(NewsletterDetails newsletter);
 public abstract int InsertNewsletter(NewsletterDetails newsletter);
 public abstract int InsertNewsletter(NewsletterDetails newsletter);
 public abstract bool UpdateNewsletter(NewsletterDetails newsletter);