Esempio n. 1
0
        public bool Execute(IEmailUserTaskMessageProvider messageProvider, ProcessExecutingContext context)
        {
            EmailTemplateUserTask userTask = messageProvider.EmailUserTask;
            EmailMessage          message  = messageProvider.GetEmailMessage();

            if (message.To.IsNullOrEmpty())
            {
                return(true);
            }
            if (message.From.IsEmpty())
            {
                SendEmailWithDefaultSender(message, userTask.IgnoreErrors);
                return(true);
            }
            var constructorArguments = new ConstructorArgument("userConnection", UserConnection);
            var emailClientFactory   = ClassFactory.Get <EmailClientFactory>(constructorArguments);
            var emailSender          = new HtmlEmailMessageSender(emailClientFactory, UserConnection);

            try {
                bool ignoreRights = (SendEmailType)userTask.SendEmailType == SendEmailType.Auto;
                emailSender.Send(message, ignoreRights);
            } catch (Exception e) {
                _log.Error(e);
                if (!userTask.IgnoreErrors)
                {
                    throw;
                }
            }
            return(true);
        }
Esempio n. 2
0
        private void InternalExecute(IEmailUserTaskMessageProvider messageProvider)
        {
            EmailTemplateUserTask userTask = messageProvider.EmailUserTask;
            EmailMessage          message  = messageProvider.GetEmailMessage();
            Activity activity = CreateActivity(message, userTask);

            userTask.ExecuteAfterActivitySaveScript(activity);
        }