//async private Task Send(SqlConnection conn, CustomerInfo customer, SendGroup sendGroup)
        //{
        //    var templateContent = new List<Mandrill.Models.TemplateContent>();
        //    templateContent.Add(new Mandrill.Models.TemplateContent()
        //    {
        //        Name = "loanNumber",
        //        Content = customer.LoanNumber
        //    });
        //    templateContent.Add(new Mandrill.Models.TemplateContent()
        //    {
        //        Name = "firstName",
        //        Content = customer.FirstName
        //    });

        //    var mndEmail = new List<Mandrill.Models.EmailAddress>();
        //    mndEmail.Add(new Mandrill.Models.EmailAddress(customer.Email, customer.FirstName));

        //    var message = new Mandrill.Models.EmailMessage()
        //    {
        //        To = mndEmail,
        //        FromName = FromName,
        //        FromEmail = FromEmail,
        //        Subject = Subject
        //    };
        //    var msqRequest = new Mandrill.Requests.Messages.SendMessageTemplateRequest(message, MandrillTemplate, templateContent);

        //   var results = await mandrill.SendMessageTemplate(msqRequest);

        //   foreach (var result in results)
        //    {
        //        customer.SendSuccessful = result.Status.ToString() == "sent" || result.Status.ToString() == "Sent";
        //        if (customer.SendSuccessful == false)
        //        {
        //            WriteReport("Unable to send email to customer with Loan #" + customer.LoanNumber + ", reason:" + result.RejectReason);
        //        }
        //        //customer.SendSuccessful = true;
        //    }

        //   if (customer.SendSuccessful)
        //    {
        //        var r = MarkRemotely(conn, customer, sendGroup);
        //        if (r == 0)
        //        {
        //            WriteReport("Failed to updated DB for customer with Loan #" + customer.LoanNumber, EventLogEntryType.Error);
        //        }
        //    }

        //}

        private int MarkRemotely(SqlConnection conn, CustomerInfo customer, SendGroup sendGroup)
        {
            var        sql = "update dbo." + DatabaseTable + " set " + sendGroup.field + " = GETDATE() where LoanNumber = '" + customer.LoanNumber + "'";
            SqlCommand cmd = new SqlCommand(sql, conn);

            return(cmd.ExecuteNonQuery());
        }
        private List <CustomerInfo> fetchLatest(SqlConnection conn, SendGroup sendGroup)
        {
            //ListResult lists = mailChimp.GetLists();
            var list = new List <CustomerInfo>();

            try
            {
                SqlDataReader reader = null;
                var           sql    = "select * from dbo." + DatabaseTable + " where DaysLate between @from and @to and " + sendGroup.field + " is null and CellPhone is not null and CellPhone != ''";
                SqlCommand    cmd    = new SqlCommand(sql, conn);
                cmd.Parameters.Add(new SqlParameter("@from", sendGroup.from));
                cmd.Parameters.Add(new SqlParameter("@to", sendGroup.to));

                reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    var customer = new CustomerInfo
                    {
                        FirstName  = reader["Borrower"].ToString(),
                        CellPhone  = reader["CellPhone"].ToString(),
                        LoanNumber = reader["LoanNumber"].ToString()
                    };
                    list.Add(customer);
                }
                reader.Close();
            }
            catch (Exception e)
            {
                WriteReport(e.ToString(), EventLogEntryType.Error);
            }

            return(list);
        }
        async private Task SendSms(SqlConnection conn, CustomerInfo customer, SendGroup sendGroup)
        {
            /*twilio.SendMessage(
             *  twilioSetFinancialPhoneNumber,//SET Financial Number - must be an SMS-enabled Twilio number
             *  customer.CellPhone, // To number, if using Sandbox see note above
             * // message content
             * string.Format(twilioMessageFormat, customer.FirstName, customer.LoanNumber)
             * );
             */
            twilio.SendMessageWithService("MGf9553c29a398e34a09bbef6b3a3fad6e",
                                          customer.CellPhone,
                                          string.Format(twilioMessageFormat, customer.FirstName, customer.LoanNumber)
                                          );


            var r = MarkRemotely(conn, customer, sendGroup);

            if (r == 0)
            {
                WriteReport("Failed to updated DB for customer with Loan #" + customer.LoanNumber, EventLogEntryType.Error);
            }
        }