示例#1
0
        public DataResult Send(EmailType emailType, int[] userIds)
        {
            var emails = Enumerable.Empty <MailMessage>();

            UnitOfWork.Begin();

            switch (emailType)
            {
            case EmailType.NoTemplate:
                break;

            case EmailType.ConfirmEmail:
                var emailsResult = _emailWorkflow.GetConfirmationEmail(userIds);
                if (emailsResult.Type != DataResultType.Success)
                {
                    return(emailsResult);
                }
                emails = emailsResult.Value;
                break;
            }

            UnitOfWork.End();

            foreach (var email in emails)
            {
                _smtpClient.Send(email);
            }

            return(new DataResult(DataResultType.Success, "Emails sent successfully."));
        }