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); }
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); }
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)); } }
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)); } }
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); }
protected AbstractMessageProducingHandler(IServiceProvider serviceProvider) : base(serviceProvider) { _messagingTemplate = new MessagingTemplate(serviceProvider); }
public DefaultPollableMessageSource(IApplicationContext context, ISmartMessageConverter messageConverter) { _messageConverter = messageConverter; _messagingTemplate = new MessagingTemplate(context); _dummyChannel = new DirectChannel(context); }
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); }
protected AbstractMessageProducingHandler(IApplicationContext context) : base(context) { _messagingTemplate = new MessagingTemplate(context); }
protected MessageProducerSupportEndpoint(IServiceProvider serviceProvider) : base(serviceProvider) { Phase = int.MaxValue / 2; _messagingTemplate = new MessagingTemplate(serviceProvider); }