예제 #1
0
        private async void Send()
        {
            if (IsBusy)
            {
                return;
            }
            IsBusy       = true;
            MailsSending = 0;
            SendCommand.RaiseCanExecuteChanged();
            try
            {
                var reipients = Recipients.Distinct(MailRecipientViewModel.EMailComparer).Select(recipient => recipient.EMail);
                var attaches  = Attachments.Select(attachment => attachment.FilePath).ToArray();
                foreach (var reipient in reipients)
                {
                    await _mailSender.EmailSendAsync(From, reipient, Subject, Message, attaches, ReadConfirmation, ReceiptConfirmation);

                    ++MailsSending;
                }
            }
            catch (Exception ex)
            {
                await _dialogService.ErrorAlarmAsync(ex.Message, "Sending Error");
            }
            finally
            {
                IsBusy       = false;
                MailsSending = 0;
                SendCommand.RaiseCanExecuteChanged();
            }
        }