Compare commits

...

2 Commits

Author SHA1 Message Date
khwezi 73ef4b04a9 Merge pull request 'Used scope to inject services' (#59) from payments into master
Reviewed-on: #59
2026-06-02 00:03:50 +02:00
Khwezi Mngoma 5ab2d29aac Used scope to inject services
continuous-integration/drone/pr Build is passing
2026-06-02 00:03:01 +02:00
@@ -6,12 +6,14 @@ namespace LiteCharms.Features.MidrandBooks.Payments.Events.Handlers;
public sealed class PayfastPaymentConfirmationReceivedEventHandler(IServiceProvider services, ILogger<PayfastPaymentConfirmationReceivedEvent> logger) : public sealed class PayfastPaymentConfirmationReceivedEventHandler(IServiceProvider services, ILogger<PayfastPaymentConfirmationReceivedEvent> logger) :
INotificationHandler<PayfastPaymentConfirmationReceivedEvent> 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) 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!); var hashResult = hashService.DecodeLongIdHash(notification.Payload?.MPaymentId!);
if (hashResult.IsFailed) if (hashResult.IsFailed)
{ {