Used scope to inject services
continuous-integration/drone/pr Build is passing

This commit is contained in:
Khwezi Mngoma
2026-06-02 00:03:01 +02:00
parent 139ca1f866
commit 5ab2d29aac
@@ -6,12 +6,14 @@ namespace LiteCharms.Features.MidrandBooks.Payments.Events.Handlers;
public sealed class PayfastPaymentConfirmationReceivedEventHandler(IServiceProvider services, ILogger<PayfastPaymentConfirmationReceivedEvent> logger) :
INotificationHandler<PayfastPaymentConfirmationReceivedEvent>
{
private readonly PaymentService paymentService = services.GetRequiredService<PaymentService>();
private readonly OrderService orderService = services.GetRequiredService<OrderService>();
private readonly HashService hashService = services.GetRequiredService<HashService>();
public async ValueTask Handle(PayfastPaymentConfirmationReceivedEvent notification, CancellationToken cancellationToken)
{
await using var scope = services.CreateAsyncScope();
PaymentService paymentService = scope.ServiceProvider.GetRequiredService<PaymentService>();
OrderService orderService = scope.ServiceProvider.GetRequiredService<OrderService>();
HashService hashService = scope.ServiceProvider.GetRequiredService<HashService>();
var hashResult = hashService.DecodeLongIdHash(notification.Payload?.MPaymentId!);
if (hashResult.IsFailed)
{