Ejemplo n.º 1
0
        public bool HandleError(Exception exception)
        {
            var errorChannel = ResolveErrorChannel(exception);
            var sent         = false;

            if (errorChannel != null)
            {
                try
                {
                    MessagingTemplate.Send(errorChannel, ErrorMessageStrategy.BuildErrorMessage(exception, null));
                    sent = true;
                }
                catch (Exception errorDeliveryError)
                {
                    _logger?.LogWarning("Error message was not delivered.", errorDeliveryError);
                }
            }

            if (!sent)
            {
                var failedMessage = (exception is MessagingException) ? ((MessagingException)exception).FailedMessage : null;
                if (failedMessage != null)
                {
                    _logger?.LogError("failure occurred in messaging task with message: " + failedMessage, exception);
                }
                else
                {
                    _logger?.LogError("failure occurred in messaging task", exception);
                }
            }

            return(sent);
        }
Ejemplo n.º 2
0
        public async Task <int> SaveEmailTemplateAsync(MessagingTemplate t, DataAccessActions action)
        {
            int          id        = 0;
            SqlParameter contentId = new SqlParameter("@Id", DbType.Int32);

            contentId.Direction = ParameterDirection.Input;

            if (!t.IsNew)
            {
                contentId.Value = t.Id;
            }

            if (action == DataAccessActions.Insert)
            {
                contentId.Direction = ParameterDirection.Output;
            }
            var arg = new SqlParameter[]
            {
                CreateSqlParameter("@Action", (int)action),

                CreateSqlParameter("@Subject", t.Subject),

                CreateSqlParameter("@TemplateTypeId", (int)t.TemplateType),

                CreateSqlParameter("@Target", (int)t.Target),

                CreateSqlParameter("@ContentId", t.ContentId),

                CreateSqlParameter("@Parameters", t.Parameters),

                CreateSqlParameter("@EmailPriorityId", 1),

                CreateSqlParameter("@EmailBodyFormatId", 1),

                contentId
            };

            await ExecuteNonQueryAsync(Procedures.MessagingTemplateCreateUpdateDelete, arg);

            if (action == DataAccessActions.Insert)
            {
                id = Convert.ToInt32(contentId.Value);
            }
            else
            {
                id = t.Id;
            }

            return(id);
        }
Ejemplo n.º 3
0
        public async Task <ActionResult> Put(MessagingTemplate content)
        {
            Result result = null;

            try
            {
                result = await _contentService.SaveAsync(content, GetCurrentUserName());

                if (!result.Succeeded)
                {
                    ThrowException(result);
                }

                return(Ok());
            }
            catch (Exception ex)
            {
                _logger.LogError($"PUT Error: {ex.Message}, Stack: {ex.StackTrace}");
                return(BadRequest(ex.Message));
            }
        }
Ejemplo n.º 4
0
        public async Task <ActionResult> Post(MessagingTemplate content)
        {
            Result result = null;

            try
            {
                content.Type = ContentTypes.EmailTemplate;
                result       = await _contentService.SaveAsync(content, GetCurrentUserName());

                if (!result.Succeeded)
                {
                    ThrowException(result);
                }

                return(Created("", result.NewId));
            }
            catch (Exception ex)
            {
                _logger.LogError($"POST Error: {ex.Message}, Stack: {ex.StackTrace}");
                return(BadRequest(ex.Message));
            }
        }
Ejemplo n.º 5
0
        public async Task CreateEmailTempalteTest()
        {
            var emailTmpl = new MessagingTemplate()
            {
                Body         = "<html>{##USERNAME##}, {##PASSWORD##}</html>",
                Name         = "template test",
                Type         = ContentTypes.EmailTemplate,
                SiteId       = SITE_ID,
                Subject      = "Register",
                TemplateType = TemplateTypes.UserActivation,
                Target       = TargetTypes.Email
            };


            var result = await _contentService.SaveAsync(emailTmpl, TEST_USER);

            Assert.NotNull(result);

            Assert.True(result.Succeeded);
            Assert.True(result.NewId > 0);
            Assert.True(result.ValiationErrors.Count == 0);
        }
Ejemplo n.º 6
0
 protected AbstractMessageProducingHandler(IServiceProvider serviceProvider)
     : base(serviceProvider)
 {
     _messagingTemplate = new MessagingTemplate(serviceProvider);
 }
Ejemplo n.º 7
0
 public DefaultPollableMessageSource(IApplicationContext context, ISmartMessageConverter messageConverter)
 {
     _messageConverter  = messageConverter;
     _messagingTemplate = new MessagingTemplate(context);
     _dummyChannel      = new DirectChannel(context);
 }
Ejemplo n.º 8
0
 public DefaultPollableMessageSource(IServiceProvider serviceProvider, ISmartMessageConverter messageConverter)
 {
     _messageConverter  = messageConverter;
     _messagingTemplate = new MessagingTemplate(serviceProvider);
     _dummyChannel      = new DirectChannel(serviceProvider);
 }
 protected MessageProducerSupportEndpoint(IApplicationContext context)
     : base(context)
 {
     Phase = int.MaxValue / 2;
     _messagingTemplate = new MessagingTemplate(context);
 }
Ejemplo n.º 10
0
 protected AbstractMessageProducingHandler(IApplicationContext context)
     : base(context)
 {
     _messagingTemplate = new MessagingTemplate(context);
 }
Ejemplo n.º 11
0
 protected MessageProducerSupportEndpoint(IServiceProvider serviceProvider)
     : base(serviceProvider)
 {
     Phase = int.MaxValue / 2;
     _messagingTemplate = new MessagingTemplate(serviceProvider);
 }