Esempio n. 1
0
        public async Task <Unit> Handle(AddNewPaymentCommand request, CancellationToken cancellationToken)
        {
            var payment = Domain.Payments.Payment.Factory.NewPayment(request.AggregateId, request.UserId, request.CardNumber,
                                                                     request.ExpiryMonth, request.ExpiryYear, request.Amount, request.CurrencyCode, request.CVV);

            var response = await _repository.CreateFromRequestAsync(payment);

            if (!response.Success)
            {
                var errorEvent = new AddNewPaymentErrorEvent();
                await _mediator.Send(errorEvent);
            }

            var createdEvent = new PaymentCreatedEvent(request.AggregateId, payment.UserId, payment.CardNumber, payment.ExpiryMonth, payment.ExpiryYear, payment.Amount, payment.CurrencyCode, payment.CVV);
            await _mediator.Publish(createdEvent);

            return(Unit.Value);
        }
Esempio n. 2
0
 public Task HandleAsync(AddNewPaymentErrorEvent message)
 {
     // Do something when error
     throw new NotImplementedException();
 }