예제 #1
0
        /// <summary>
        /// Обработчик кнопки "Отправить запланированно"
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSend_Click(object sender, RoutedEventArgs e)
        {
            if (!CheckTextLetter())
            {
                MessageBox.Show("Письмо не заполнено!");
                tbcTabs.SelectedIndex = m_cLetterTab;
                return;
            }

            SchedulerClass sc         = new SchedulerClass();
            TimeSpan       tsSendTime = sc.GetSendTime(tbTimePicker.Text);  // Интервал, указанный в TextBox tbTimePicker Планировщика

            if (tsSendTime == TimeSpan.Zero)
            {
                MessageBox.Show("Некорректный формат даты");
                return;
            }

            DateTime dtSendDateTime = (cldScheduleDateTimes.SelectedDate ?? DateTime.Today).Add(tsSendTime);

            if (dtSendDateTime < DateTime.Now)
            {
                MessageBox.Show("Дата и время отправки писем не могут быть раньше, чем настоящее время");
                return;
            }

            EmailSendServiceClass emailSender = new EmailSendServiceClass(m_mtbSenderToolBar.CbSenderSelect.Text, m_mtbSenderToolBar.CbSenderSelect.SelectedValue.ToString(),
                                                                          m_mtbSmtpToolBar.CbSenderSelect.Text, (int)m_mtbSmtpToolBar.CbSenderSelect.SelectedValue);

            TextRange tr = new TextRange(rtbLetter.Document.ContentStart, rtbLetter.Document.ContentEnd);

            emailSender.Body = tr.Text;

            sc.SendEmails(/*dtSendDateTime, */ emailSender, (IQueryable <Sender>)dgEmails.ItemsSource);
        }
예제 #2
0
        private void BtnSend_Click(object sender, RoutedEventArgs e)
        {
            SchedulerClass sc         = new SchedulerClass();
            TimeSpan       tsSendTime = sc.GetSendTime(tbTimePicker.Text);

            if (tsSendTime == new TimeSpan())
            {
                MessageBox.Show("некоректный формат даты");
                return;
            }
            DateTime dtSendDateTime = (cldSchedulDateTimes.SelectedDate ?? DateTime.Today).Add(tsSendTime);

            if (dtSendDateTime < DateTime.Now)
            {
                MessageBox.Show("Дата и время отправки писем не могут быть раньше, чем настоящее время");
                return;
            }
            EmailSendServiceClass emailSender = new EmailSendServiceClass(cbSenderSelect.Text,
                                                                          cbSenderSelect.SelectedValue.ToString(), BodyPost.Text, SubjectPost.Text, cbSmtpSelect.Text,
                                                                          int.Parse(((KeyValuePair <string, int>)cbSenderSelect.SelectedItem).Value.ToString()));
            //sc.SendEmails(dtSendDateTime, emailSender, (IQueryable<Email>)dgEmails.ItemsSource);
            var locator = (ViewModelLocator)FindResource("Locator");

            sc.SendEmails(emailSender, locator.Main.Emails);
        }
예제 #3
0
        private void BtnSend_Click(object sender, RoutedEventArgs e)
        {
            if (txtbxSubject.Text == "" || txtbxBody.Text == "")
            {
                MessageBox.Show("Заголовок и тело письма не должны быть пустыми");
                tabControl.SelectedItem = tbitmMail;
                return;
            }

            SchedulerClass sc         = new SchedulerClass();
            TimeSpan       tsSendTime = sc.GetSendTime(tbTimePicker.Text);

            if (tsSendTime == new TimeSpan())
            {
                MessageBox.Show("Некорректный формат даты");
                return;
            }
            DateTime dtSendDateTime = (cldSchedulDateTimes.SelectedDate ?? DateTime.Today).Add(tsSendTime);

            if (dtSendDateTime < DateTime.Now)
            {
                MessageBox.Show("Дата и время отправки писем не могут быть раньше, чем настоящее время");
                return;
            }

            WpfEmailSendService emailSender = new WpfEmailSendService(cbSenderSelect.Text, cbSenderSelect.SelectedValue.ToString());

            emailSender.ShowMessage += msg => MessageBox.Show(msg);
            emailSender.SmtpServer   = txtbxSmtpServer.Text;
            //emailSender.SmtpServer = cbSmtpServer.Text;
            sc.SendMails(dtSendDateTime, emailSender, (IQueryable <Emails>)dgEmails.ItemsSource);
        }
예제 #4
0
        private void BtnSendScheduledOne_Click(object sender, RoutedEventArgs e)//отложенная отправка для одного
        {
            SchedulerClass sc         = new SchedulerClass();
            TimeSpan       tsSendTime = sc.GetSendTime(TimePicker.Text);

            if (string.IsNullOrEmpty(cbSenderSelect.Text))
            {
                MessageBox.Show("Выберите отправителя");
                return;
            }
            if (string.IsNullOrEmpty(cbSmtpSelect.Text))
            {
                MessageBox.Show("Укажите Smtp сервер");
                return;
            }
            if (string.IsNullOrEmpty(BodyPost.Text))
            {
                MessageBox.Show("Письмо не заполнено");
                return;
            }
            if (string.IsNullOrEmpty(saveEmail.RecipientEmailAddress.ToString()))
            {
                MessageBox.Show("Получатель не выбран");
                return;
            }
            if (tsSendTime == new TimeSpan())
            {
                MessageBox.Show("Некорректный формат даты");
                return;
            }
            DateTime dtSendDateTime = (cldSchedulDateTimes.SelectedDate
                                       ?? DateTime.Today).Add(tsSendTime);

            if (dtSendDateTime < DateTime.Now)
            {
                MessageBox.Show("Дата и время не могут быть раньше, чем настоящее время");
                return;
            }
            var _field = new Fields()
            {
                AttachFile = tbAttachFileWay.Text,
                Body       = BodyPost.Text,
                Subject    = SubjectPost.Text,
                Login      = cbSenderSelect.Text,
                Password   = cbSenderSelect.SelectedValue.ToString(),
                Smtp       = cbSmtpSelect.Text,
                Recipient  = saveEmail.RecipientEmailAddress.ToString(),
                SmtpPort   = int.Parse(((KeyValuePair <string, int>)cbSmtpSelect.SelectedItem).Value.ToString())
            };
            EmailSendServiceClassToOne emailSenderToOne = new EmailSendServiceClassToOne(_field);

            sc.SendEmails(emailSenderToOne);
            MessageBox.Show("Отложенная отправка создана. \nДождитесь подтверждения о завершении работы программы");
        }
예제 #5
0
        private void BtnSend_Click(object sender, RoutedEventArgs e) // запланировать для всех
        {
            SchedulerClass sc         = new SchedulerClass();
            TimeSpan       tsSendTime = sc.GetSendTime(TimePicker.Text);

            if (string.IsNullOrEmpty(cbSenderSelect.Text))
            {
                MessageBox.Show("Выберите отправителя");
                return;
            }
            if (string.IsNullOrEmpty(cbSmtpSelect.Text))
            {
                MessageBox.Show("Укажите Smtp сервер");
                return;
            }
            if (string.IsNullOrEmpty(BodyPost.Text))
            {
                MessageBox.Show("Письмо не заполнено");
                return;
            }
            if (tsSendTime == new TimeSpan())
            {
                MessageBox.Show("Некорректный формат даты");
                return;
            }
            DateTime dtSendDateTime = (cldSchedulDateTimes.SelectedDate
                                       ?? DateTime.Today).Add(tsSendTime);

            if (dtSendDateTime < DateTime.Now)
            {
                MessageBox.Show("Дата и время не могут быть раньше, чем настоящее время");
                return;
            }
            var _field = new Fields()
            {
                AttachFile = tbAttachFileWay.Text,
                Body       = BodyPost.Text,
                Subject    = SubjectPost.Text,
                Login      = cbSenderSelect.Text,
                Password   = cbSenderSelect.SelectedValue.ToString(),
                Smtp       = cbSmtpSelect.Text,
                SmtpPort   = int.Parse(((KeyValuePair <string, int>)cbSmtpSelect.SelectedItem).Value.ToString())
            };
            EmailSendServiceClass emailSender = new EmailSendServiceClass(_field);
            var locator = (ViewModelLocator)FindResource("Locator");

            sc.SendEmails(emailSender, locator.Main.Emails);
        }