Ejemplo n.º 1
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;
                }
            }
        }
Ejemplo n.º 2
0
 public void SendEmails(EmailSendService emailSender, ObservableCollection <ILetter> letters)
 {
     this.letters     = letters;
     this.emailSender = emailSender;
     timer.Tick      += TimerTickLetter;
     timer.Interval   = new TimeSpan(0, 0, 1);
     timer.Start();
 }
Ejemplo n.º 3
0
 public void SendEmails(EmailSendService emailSendService, List <string> emails)
 {
     this.emailSendService = emailSendService;
     this.emails           = emails;
     timer.Tick           += Timer_Tick;
     timer.Interval        = new TimeSpan(0, 0, 1);
     timer.Start();
 }
Ejemplo n.º 4
0
        /// <summary>
        /// передача данных в класс, отвечающий за отправку почты
        /// </summary>
        void EmailSenderCreate(SecureString password)
        {
            emailSender = new EmailSendService(Login, password);
            emailSender.MessageBeforeSendMail += msg => MessageBox.Show(msg);       //подписка на вывод сообщения непосредственно перед отправкой писем
            emailSender.MessageMailSend       += msg => MessageBox.Show(msg);       //подписка на вывод сообщений после отправки писем

            emailSender.SmtpServer = SmtpServer;
            emailSender.SmtpPort   = (from f in SmtpServersCol
                                      where f.Server == SmtpServer
                                      select f.Port).ToList <int>()[0];
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Отправка писем адресатам
 /// </summary>
 /// <param name="dtSend">Дата отправки</param>
 /// <param name="emailSender">Адрес отправителя</param>
 /// <param name="emails">Список получателей</param>
 /// <param name="subject">Тема письма</param>
 /// <param name="textRange">Содержание письма</param>
 public void SendEmails(DateTime dtSend, EmailSendService emailSender, ObservableCollection <Email> emails, string subject, string textRange)
 {
     this.emailSender = emailSender;
     this.dtSend      = dtSend;
     this.emails      = emails;
     text             = textRange;
     this.subject     = subject;
     timer.Tick      += Timer_Tick;
     timer.Interval   = new TimeSpan(0, 0, 1);
     timer.Start();
 }
Ejemplo n.º 6
0
        /// <summary>
        /// передача данных в класс, отвечающий за отправку почты
        /// </summary>
        void EmailSenderCreate(object obj)
        {
            var passwordBox = obj as PasswordBox;
            var password    = passwordBox.Password;

            _emailSender = new EmailSendService(Login, password);
            _emailSender.MessageBeforeSendMail += MessageBoxShow;
            _emailSender.MessageMailSend       += MessageBoxShow;

            _emailSender.SmtpServer = SmtpServer;
            _emailSender.SmtpPort   = (from f in SmtpServersCol
                                       where f.Server == SmtpServer
                                       select f.Port).ToList <int>()[0];
        }
Ejemplo n.º 7
0
        private void SendAtOnce_Click(object sender, RoutedEventArgs e)
        {
            item = (KeyValuePair <string, int>)cbSmtpSelect.SelectionBoxItem;

            string sSmtp       = item.Key;
            int    iPort       = item.Value;
            string strLogin    = cbSenderSelect.Text;
            string strPassword = cbSenderSelect.SelectedValue.ToString();

            if (string.IsNullOrEmpty(strLogin))
            {
                MessageBox.Show("Select sender's email address"); return;
            }
            if (string.IsNullOrEmpty(strPassword))
            {
                MessageBox.Show("Enter your password"); return;
            }
            try
            {
                if (!isRichTBEmpty(rtb))
                {
                    EmailSendService emailSender = new EmailSendService(strLogin, strPassword, sSmtp, iPort, ContentFromRTB(rtb));
                    var           locator        = (ViewModelLocator)FindResource("Locator");
                    List <string> emails         = new List <string>();
                    foreach (Email email in locator.Main.Emails)
                    {
                        emails.Add(email.EmailCol);
                    }
                    emailSender.SendEmails(emails);
                }
                else
                {
                    do
                    {
                        MessageBox.Show("Enter some content of the email");
                        tabControl.SelectedItem = EditorTab;
                    } while (!isRichTBEmpty(rtb));
                }
            }
            catch { MessageBox.Show("Something went wrong"); }
        }
Ejemplo n.º 8
0
        private void BtnSchedule_Click(object sender, RoutedEventArgs e)
        {
            //Scheduler sched = new Scheduler(cbSenderSelect.Text, new Dictionary<DateTime, string>());
            item = (KeyValuePair <string, int>)cbSmtpSelect.SelectionBoxItem;
            Scheduler sched = new Scheduler();

            for (int i = 1; i < plannerListView.Items.Count; i++)
            {
                var item = plannerListView.Items[i];
                lvItem = item as ListViewItemScheduler;
                sched.DatesEmailDic.Add(lvItem.timePickerValue.Value, lvItem.Text);
            }
            EmailSendService emailSender = new EmailSendService(cbSenderSelect.Text, cbSenderSelect.SelectedValue.ToString(), item.Key, item.Value, ContentFromRTB(rtb));
            var           locator        = (ViewModelLocator)FindResource("Locator");
            List <string> emails         = new List <string>();

            foreach (Email email in locator.Main.Emails)
            {
                emails.Add(email.EmailCol);
            }
            sched.SendEmails(emailSender, emails);
        }
 public MailViewController()
 {
     MailDataRepositories = new MailDataRepositories();
     EmailSendService     = new EmailSendService();
     FactoryServicecs     = new FactoryServicecs(MailDataRepositories, EmailSendService);
 }