public async Task HandleAsync(WalletChargeRollbackedEvent message) { var orderProcessManager = await _processManagerRepository.FindAsync(message.OrderId); orderProcessManager.When(message); await _processManagerRepository.Save(orderProcessManager); }
public void When(WalletChargeRollbackedEvent message) { switch (State) { case BuyOrderProcessManagerState.CompanyChargeFailed: State = BuyOrderProcessManagerState.WalletChargeRollbacked; ProcessCommand(new CancelOrderCommand(AggregateId, CancelReason)); break; case BuyOrderProcessManagerState.WalletChargeRollbacked: break; default: throw new StocqresException("Invalid state for this message"); } }
private void Apply(WalletChargeRollbackedEvent @event) { Amount += @event.Amount; }
public async Task HandleAsync(WalletChargeRollbackedEvent @event) { await _projectionWriter.UpdateAsync <WalletProjection>(@event.AggregateId, e => e.Amount += @event.Amount); }