public Task <AsyncTaskResult> HandleAsync(PaymentCompletedEvent evnt) { return(_commandService.SendAsync(new ConfirmPaymentCommand( evnt.OrderId, evnt.PayInfo, true))); }
public Task Handle(PaymentCompletedEvent message, IMessageHandlerContext context) { var sendDeliveryRequest = new SendDeliveryRequestCommand { CartId = message.CartId }; return(context.SendLocal(sendDeliveryRequest)); }
public async Task Consume(ConsumeContext <PaymentCompletedEvent> context) { PaymentCompletedEvent paymentCompletedEvent = context.Message; long orderId = long.Parse(paymentCompletedEvent.CorrelationId); await _distributedLockManager.LockAsync(OrderOperationKey(orderId), async() => { IOrderStateMachine orderStateMachine = await _orderStateMachineFactory.BuildOrderStateMachineAsync(orderId); orderStateMachine.ChangePaymentStatus(PaymentStatuses.Completed); }); }
public Task <AsyncTaskResult> HandleAsync(PaymentCompletedEvent evnt) { return(TryUpdateRecordAsync(connection => { return connection.UpdateAsync(new { State = (int)PaymentState.Completed, Version = evnt.Version }, new { Id = evnt.AggregateRootId, //Version = evnt.Version - 1 }, ConfigSettings.PaymentTable); })); }
public Task Handle(StartPaymentCommand message, IMessageHandlerContext context) { //TODO: acual charging logic goes here //randomly return negative events if (random.Next(0, 5) == 0) { var paymentDenied = new PaymentDeniedEvent { CartId = message.CartId }; return(context.Publish(paymentDenied)); } var paymentCompleted = new PaymentCompletedEvent { CartId = message.CartId }; return(context.Publish(paymentCompleted)); }
private void Handle(PaymentCompletedEvent evnt) { _state = PaymentState.Completed; _payInfo = evnt.PayInfo; }