Esempio n. 1
0
        public async Task DoOperationAsync(RedeemTransactionMessage msg, IBinder binder, CancellationToken token)
        {
            var query  = new RedeemEmailQuery(msg.TransactionId);
            var result = await _queryBus.QueryAsync(query, token);

            if (result is null)
            {
                return;
            }
            var message = new SendGridMessage();


            message.AddContent("text/html", $"User id: {result.UserId} want to redeem {result.Amount}");

            var culture = new CultureInfo("en");

            if (result.Country.Equals("IN", StringComparison.OrdinalIgnoreCase))
            {
                culture = new CultureInfo("en-IN");
            }
            CultureInfo.CurrentCulture = CultureInfo.DefaultThreadCurrentCulture = culture;
            var emailTo = ResourceWrapper.GetString("email_support");

            message.AddTo(emailTo);
            var emailProvider = await binder.BindAsync <IAsyncCollector <SendGridMessage> >(new SendGridAttribute()
            {
                ApiKey  = "SendgridKey",
                From    = "Spitball <*****@*****.**>",
                Subject = $"Redeem Email {result.UserId}"
            }, token);

            await emailProvider.AddAsync(message, token);
        }
Esempio n. 2
0
 public async Task RedeemEmailQuery_Ok()
 {
     var query = new RedeemEmailQuery(Guid.Parse("C3760BED-ACDB-45ED-985A-A92E00905B80"));
     var _     = await fixture.QueryBus.QueryAsync(query, default);
 }