public async Task HandleAsync(BuyOrderCancelledEvent message) { var orderProcessManager = await _processManagerRepository.FindAsync(message.AggregateId); orderProcessManager.When(message); await _processManagerRepository.Save(orderProcessManager); }
public void When(BuyOrderCancelledEvent message) { switch (State) { case BuyOrderProcessManagerState.WalletChargeRollbacked: State = BuyOrderProcessManagerState.OrderFailed; break; default: throw new StocqresException("Invalid state for this message"); } }
public async Task HandleAsync(BuyOrderCancelledEvent @event) { await _projectionWriter.UpdateAsync <BuyOrderProjection>(@event.AggregateId, e => { e.State = OrderState.Cancelled; }); }
private void Apply(BuyOrderCancelledEvent @event) { CancelReason = @event.CancelReason; State = OrderState.Cancelled; }