Пример #1
0
        public async Task <MailServiceError> SendMailAsync(MailInfo mail, CallBackInfo callback, CancellationToken cancellationToken)
        {
            if (mail == null)
            {
                throw new ArgumentNullException(nameof(mail));
            }

            MailServiceError checkMail = mail.Check();

            if (checkMail == MailServiceError.Ok)
            {
                MailData mailData = new MailData(mail, callback);
                using (var trx = this.StateManager.CreateTransaction())
                {
                    await this.mailQueue.EnqueueAsync(trx, mailData);

                    await trx.CommitAsync();
                }
            }
            return(checkMail);
        }