Esempio n. 1
0
        private async Task HandleFailedTransactionBroadcastAsync(SendBroadcastData <FailedTransactionData> result)
        {
            await _log.WriteInfoAsync("EmailRequestQueueConsumer", "HandleFailedTransactionBroadcastAsync", null, $"DT: {DateTime.UtcNow.ToIsoDateTime()}" +
                                      $"{Environment.NewLine}{result.ToJson()}");

            var msg = _emailGenerator.GenerateFailedTransactionMsg(result.MessageData.TransactionId, result.MessageData.AffectedClientIds);
            await _smtpEmailSender.SendBroadcastAsync(result.BroadcastGroup, msg);
        }
Esempio n. 2
0
        private async Task HandleSwiftConfirmedBroadcastAsync(SendBroadcastData <SwiftConfirmedData> result)
        {
            await _log.WriteInfoAsync("EmailRequestQueueConsumer", "HandleSwiftConfirmedBroadcastAsync", null, $"DT: {DateTime.UtcNow.ToIsoDateTime()}" +
                                      $"{Environment.NewLine}{result.ToJson()}");

            var msg = await _emailGenerator.GenerateSwiftConfirmedMsg(result.MessageData);

            await _smtpEmailSender.SendBroadcastAsync(result.BroadcastGroup, msg);
        }
Esempio n. 3
0
        private async Task HandleUserRegisteredBroadcastAsync(SendBroadcastData <UserRegisteredData> result)
        {
            await _log.WriteInfoAsync("EmailRequestQueueConsumer", "HandleUserRegisteredBroadcastAsync", null, $"DT: {DateTime.UtcNow.ToIsoDateTime()}" +
                                      $"{Environment.NewLine}{result.ToJson()}");

            var personalData = await _personalDataRepository.GetAsync(result.MessageData.ClientId);

            var msg = await _emailGenerator.GenerateUserRegisteredMsg(personalData);

            await _smtpEmailSender.SendBroadcastAsync(result.BroadcastGroup, msg);
        }
Esempio n. 4
0
        private async Task HandlePlainTextBroadcastAsync(SendBroadcastData <PlainTextBroadCastData> result)
        {
            await _log.WriteInfoAsync("EmailRequestQueueConsumer", "HandlePlainTextBroadcastAsync", null, $"DT: {DateTime.UtcNow.ToIsoDateTime()}" +
                                      $"{Environment.NewLine}{result.ToJson()}");

            var msg = new EmailMessage
            {
                Body    = result.MessageData.Text,
                IsHtml  = false,
                Subject = $"[{result.BroadcastGroup}] {result.MessageData.Subject}"
            };
            await _smtpEmailSender.SendBroadcastAsync(result.BroadcastGroup, msg);
        }
        public Task ProduceSendEmailBroadcast <T>(string partnerId, BroadcastGroup broadcastGroup, T msgData) where T : IEmailMessageData
        {
            if (typeof(PlainTextData) == typeof(T))
            {
                throw new ArgumentException("Broadcast can not be done using PlainTextData type");
            }

            var data = SendBroadcastData <T> .Create(partnerId, broadcastGroup, msgData);

            var msg = new QueueRequestModel <SendBroadcastData <T> > {
                Data = data
            };

            return(_queueExt.PutMessageAsync(msg));
        }