Ejemplo n.º 1
0
        public async Task Process(PspMessage message)
        {
            switch (message)
            {
            case PaymentRequest paymentRequest:
                await _clusterClient.GetGrain <ITransactionGrain>(paymentRequest.PublicPaymentId).Create(paymentRequest);

                break;

            case PaymentReconciliation paymentReconciliation:
                await _clusterClient.GetGrain <ITransactionGrain>(paymentReconciliation.PublicPaymentId).Check(paymentReconciliation);

                break;

            case ProviderNotification providerNotification:
                await _clusterClient.GetGrain <ITransactionGrain>(providerNotification.PublicPaymentId).Update(providerNotification);

                break;

            case ProviderReconciliation providerReconciliation:
                await Task.Delay(1_000);

                break;

            default:
                throw new ArgumentException(nameof(message));
            }
        }
Ejemplo n.º 2
0
 public static void Enqueue(PspMessage message)
 {
     Queue.Enqueue(message);
 }