Compare commits

..

4 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
khwezi 780415b6d4 Merge pull request 'Fixed event service scope issue' (#58) from payments into master
Reviewed-on: #58
2026-06-01 23:33:11 +02:00
Khwezi Mngoma 139ca1f866 Fixed event service scope issue
continuous-integration/drone/pr Build is passing
2026-06-01 23:32:35 +02:00
@@ -3,12 +3,17 @@ using LiteCharms.Features.MidrandBooks.Orders;
namespace LiteCharms.Features.MidrandBooks.Payments.Events.Handlers; namespace LiteCharms.Features.MidrandBooks.Payments.Events.Handlers;
public sealed class PayfastPaymentConfirmationReceivedEventHandler(PaymentService paymentService, public sealed class PayfastPaymentConfirmationReceivedEventHandler(IServiceProvider services, ILogger<PayfastPaymentConfirmationReceivedEvent> logger) :
HashService hashService, OrderService orderService, ILogger<PayfastPaymentConfirmationReceivedEvent> logger) :
INotificationHandler<PayfastPaymentConfirmationReceivedEvent> INotificationHandler<PayfastPaymentConfirmationReceivedEvent>
{ {
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)
{ {