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.")); }