public override void Init(IServiceContainer serviceContainer, IDictionary <string, string> jobArgsDictionary) { base.Init(serviceContainer, jobArgsDictionary); InitializationConfiguration = _serviceProvider.GetRequiredService <IOptionsSnapshot <InitializationConfiguration> >().Value; var serializer = new ServiceBusMessageSerializer(); var topicClient = new TopicClientWrapper(InitializationConfiguration.EmailPublisherConnectionString, InitializationConfiguration.EmailPublisherTopicName); var enqueuer = new EmailMessageEnqueuer(topicClient, serializer, LoggerFactory.CreateLogger <EmailMessageEnqueuer>()); EmailService = new AsynchronousEmailMessageService( enqueuer, LoggerFactory.CreateLogger <AsynchronousEmailMessageService>(), InitializationConfiguration); FromAddress = new MailAddress(InitializationConfiguration.MailFrom); var storageAccount = CloudStorageAccount.Parse(InitializationConfiguration.DataStorageAccount); var storageFactory = new AzureStorageFactory( storageAccount, InitializationConfiguration.ContainerName, LoggerFactory.CreateLogger <AzureStorage>()); Storage = storageFactory.Create(); }
private PackageValidationMessageData OverrideDeliveryCount( PackageValidationMessageData messageData, int deliveryCount) { var serializer = new ServiceBusMessageSerializer(); var realBrokeredMessage = serializer.SerializePackageValidationMessageData(messageData); var fakedBrokeredMessage = new MessageWithCustomDeliveryCount(realBrokeredMessage, deliveryCount); return(serializer.DeserializePackageValidationMessageData(fakedBrokeredMessage)); }
public Base() { _target = new ServiceBusMessageSerializer(); }
protected SupportRequestsNotificationScheduledTask( InitializationConfiguration configuration, Func <Task <SqlConnection> > openSupportRequestSqlConnectionAsync, ILoggerFactory loggerFactory) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } if (loggerFactory == null) { throw new ArgumentNullException(nameof(loggerFactory)); } var serializer = new ServiceBusMessageSerializer(); var topicClient = new TopicClientWrapper(configuration.EmailPublisherConnectionString, configuration.EmailPublisherTopicName); var enqueuer = new EmailMessageEnqueuer(topicClient, serializer, loggerFactory.CreateLogger <EmailMessageEnqueuer>()); var messageService = new AsynchronousEmailMessageService( enqueuer, loggerFactory.CreateLogger <AsynchronousEmailMessageService>(), configuration); _messagingService = new MessagingService(messageService, loggerFactory.CreateLogger <MessagingService>()); _supportRequestRepository = new SupportRequestRepository(loggerFactory, openSupportRequestSqlConnectionAsync); }