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);
            }
        }
Esempio n. 2
0
        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);
 }