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); }
public async Task RedeemEmailQuery_Ok() { var query = new RedeemEmailQuery(Guid.Parse("C3760BED-ACDB-45ED-985A-A92E00905B80")); var _ = await fixture.QueryBus.QueryAsync(query, default); }