public async Task Handle(CreateOrder command) { Domain.Order order = new Domain.Order { Id = Guid.NewGuid(), BookId = command.BookId }; try { await _repository.Add(order); OrderCreated orderCreated = new OrderCreated { OrderId = order.Id, TransactionId = command.TransactionId }; await _bus.PublishAsync(orderCreated); } catch (Exception exception) { CreateOrderFailed failed = new CreateOrderFailed { OrderId = order.Id, Message = exception.Message }; await _bus.PublishAsync(failed); } }
private void Apply(CreateOrderFailed obj) { DispatchCommand <DummyNotifier>(new NotifyAdmin(AggregateRepository.CreateGuid())); }
private void OnCreateOrderFailed(CreateOrderFailed evt) { _orderProcessEventHandler.HandleEvent <CreateOrderFailed, OrderProcessManager>(evt); SetLastEventNumber(evt); }