BgEngine.Controllers.BackgroundWorkerController.SendNewsletterAsync C# (CSharp) Method

SendNewsletterAsync() private method

private SendNewsletterAsync ( int id ) : void
id int
return void
        public void SendNewsletterAsync(int id)
        {
            AsyncManager.OutstandingOperations.Increment();
            Task.Factory.StartNew(() =>	{
                Newsletter newsletter = NewsletterServices.FindAllEntities(n => n.NewsletterId == id, null, "NewsletterTasks").FirstOrDefault();
                NewsletterInProcess(newsletter, true);
                NetworkCredential credentials = new NetworkCredential(BgResources.Email_UserName, BgResources.Email_Password);
                SmtpClient client = new SmtpClient(BgResources.Email_Server, 25);
                client.EnableSsl = BgResources.Email_SSL;
                client.Credentials = credentials;
                foreach (var task in newsletter.NewsletterTasks.ToList())
                {
                    try
                    {
                        MailMessage message = new MailMessage(BgResources.Email_UserName, task.Subscription.SubscriberEmail, task.Newsletter.Name, task.Newsletter.Html);
                        message.IsBodyHtml = true;
                        client.Send(message);
                        NewsletterServices.DeleteNewsletterTask(task);
                    }
                    catch (SmtpException ex)
                    {
                        task.Log = ex.Message;
                        NewsletterServices.UpdateNewsletterTask(task);
                    }
                }
                NewsletterInProcess(newsletter, false);
                AsyncManager.OutstandingOperations.Decrement();
            });
        }