public void Execute(object contract) { try { var mailNeedToSendUsers = MailDataRepositories.GetUsersToSendPrimaryMail(); if (mailNeedToSendUsers != null && mailNeedToSendUsers.Count > 0) { foreach (var user in mailNeedToSendUsers) { var guid = Guid.NewGuid(); var emailModel = new EmailServiceModel { FromAddress = "*****@*****.**", Message = GetMailBody(user.Name, guid), Subject = "Important Message for you from CusJo", ToAddress = user.MailId }; EmailSendService.SendEmail(emailModel); // save email sent history MailDataRepositories.SaveEmailSentHistory(user, guid); } } } catch (Exception ex) { throw new Exception(ex.Message); } }
static void Main(string[] args) { var MailDataRepositories = new MailDataRepositories(); var EmailSendService = new EmailSendService(); var factoryServicecs = new FactoryServicecs(MailDataRepositories, EmailSendService); var executionTime = new TimeSpan(0, 0, 0); var firstAttemptOfDay = true; while (true) { if (DateTime.Now.TimeOfDay.Hours == executionTime.Hours && DateTime.Now.TimeOfDay.Minutes == executionTime.Minutes) { if (firstAttemptOfDay) { firstAttemptOfDay = false; factoryServicecs.GetService(ServiceType.ReminderMailSend).Execute(null); factoryServicecs.GetService(ServiceType.PrimaryMailSend).Execute(null); } } else { firstAttemptOfDay = true; } } }
public MailViewController() { MailDataRepositories = new MailDataRepositories(); EmailSendService = new EmailSendService(); FactoryServicecs = new FactoryServicecs(MailDataRepositories, EmailSendService); }