static void Main(string[] args) { using (CastleClub.BusinessLogic.Data.CastleClubEntities entities = new BusinessLogic.Data.CastleClubEntities()) { var sites = entities.Sites.ToList(); int capEmail = int.Parse(System.Configuration.ConfigurationManager.AppSettings["CapEmail"]); foreach (var site in sites) { if ((site.SendWelcomeEmail == true) && (site.WelcomeEmailDelay != null) && (site.WelcomeEmailDelay > 0)) { int delay = site.WelcomeEmailDelay == null ? 0: (int)site.WelcomeEmailDelay; DateTime mindate = DateTime.Now.Date.AddDays(-1 * (delay)); DateTime maxdate = DateTime.Now.Date.AddDays(-1 * (delay - 1)); var customerlist = entities.Customers.Where(x => x.CreatedAt >= mindate && x.CreatedAt < maxdate && x.WelcomeEmail != true && x.SiteId == site.Id && x.StatusId == "ACTIVE").ToList(); foreach (var customer in customerlist) { if (capEmail == 0 || SitesManager.GetEmailSentToday() < capEmail) { CustomerDT cust = customer.GetDT(false); SendEmail(site.Id, cust, cust.UnEncryptPass); //customer.Password = cust.Password; customer.WelcomeEmail = true; customer.WelcomeEmailDelay = delay; customer.WelcomeEmailSent = DateTime.Now; customer.UnEncryptPass = ""; entities.SaveChanges(); } } } } } }