static int LoadEmail(bool ProductionOnly, string[] args, SqlCommand cmd2, DateTime CurrentDateTime, string EmailIdentifier) { int Status = 0; // Create a database connection SqlConnection conn = new SqlConnection("Data Source=(local);Integrated Security=SSPI;Initial Catalog=EATDW;Connection Timeout=120"); conn.Open(); SqlCommand cmd = conn.CreateCommand(); // Retrieve emails from the database. cmd.CommandText = "Select Top 900 SendEmailId,EmailTo,EmailCC,EmailSubject,EmailBodyText,EmailBodyDataTableHeader,EmailBodyDataTable,EmailBodyDataTableFooter From Email_SendEmail_Archive Where SendEmailType = '" + args[0] + "' And SendEmailLevelName = '" + args[1] + "' And SendAttemptDateTime = '" + CurrentDateTime + "' And SendStatus = 'Not Sent' And SummarySegment = '" + args[3] + "'"; SqlDataReader reader = cmd.ExecuteReader(); String SendEmailId = ""; String EmailTo; String EmailCC; String EmailSubject; String EmailBody; String EmailBodyText; String EmailBodyDataTableHeader; String EmailBodyDataTable; String EmailBodyDataTableFooter; try { while (reader.Read()) { SendEmailId = reader["SendEmailId"].ToString(); EmailTo = reader["EmailTo"].ToString(); EmailCC = reader["EmailCC"].ToString(); EmailSubject = reader["EmailSubject"].ToString(); EmailBodyText = reader["EmailBodyText"].ToString(); EmailBodyDataTableHeader = reader["EmailBodyDataTableHeader"].ToString(); EmailBodyDataTable = reader["EmailBodyDataTable"].ToString(); EmailBodyDataTableFooter = reader["EmailBodyDataTableFooter"].ToString(); // Prep the email for sending EmailTo = EmailTo.Replace(";", "@microsoft.com,"); if (EmailTo != "") { EmailTo = EmailTo.Substring(0, EmailTo.Length - 1); } EmailCC = EmailCC.Replace(";", "@microsoft.com,"); if (EmailCC != "") { EmailCC = EmailCC.Substring(0, EmailCC.Length - 1); } EmailBody = EmailBodyText; if (!ProductionOnly) { EmailBody = EmailBody.Replace("<tr><td><img src=\"http://annuity/emailbanner.jpg\"/><br/></td></tr>", "<tr><td>To: [EmailTo]</td></tr><tr><td>CC: [EmailCC]</td></tr><tr><td><img src=\"http://annuity/emailbanner.jpg\"/><br/></td></tr>"); EmailBody = EmailBody.Replace("[EmailTo]", EmailTo); EmailBody = EmailBody.Replace("[EmailCC]", EmailCC); } EmailBody = EmailBody.Replace("[EmailBodyDataTableHeader]", EmailBodyDataTableHeader); EmailBody = EmailBody.Replace("[EmailBodyDataTable]", EmailBodyDataTable); EmailBody = EmailBody.Replace("[EmailBodyDataTableFooter]", EmailBodyDataTableFooter); EmailBody = EmailBody.Replace("[EmailIdentifier]", EmailIdentifier); //Console.WriteLine("done setting parameters for: " + SendEmailId);//test //Console.WriteLine("EmailTo:" + EmailTo);//test //Console.WriteLine("EmailCC:" + EmailCC);//test // Send Email try { SendEmail(EmailTo, EmailCC, EmailSubject, EmailBody, SendEmailId, ProductionOnly); //Console.WriteLine("done sending email for: " + SendEmailId);//test cmd2.CommandType = CommandType.Text; cmd2.CommandText = "Update Email_SendEmail_Archive Set SendStatus = 'Success' Where SendEmailId = " + SendEmailId + " And SendAttemptDateTime = '" + CurrentDateTime + "'"; } catch (Exception ex) { String ErrorMessage = ex.Message; //Console.WriteLine(ErrorMessage);//test //Console.ReadLine();//test cmd2.CommandType = CommandType.Text; cmd2.CommandText = "Update Email_SendEmail_Archive Set SendStatus = 'Fail - App Error' Where SendEmailId = " + SendEmailId + " And SendAttemptDateTime = '" + CurrentDateTime + "'"; Status = 1; } cmd2.ExecuteNonQuery(); //Console.WriteLine("done setting email send status for: " + SendEmailId);//test } } catch (Exception ex2) { String ErrorMessage = ex2.Message; //Console.WriteLine(ErrorMessage);//test //Console.ReadLine();//test cmd2.CommandType = CommandType.Text; cmd2.CommandText = "Update Email_SendEmail_Archive Set SendStatus = 'Fail - App Error' Where SendEmailId = " + SendEmailId + " And SendAttemptDateTime = '" + CurrentDateTime + "'"; cmd2.ExecuteNonQuery(); Status = 1; //Console.WriteLine("done setting email app failure for: " + SendEmailId);//test } reader.Close(); conn.Close(); return(Status); }