protected void ApplyEventOnSaga(DomainEvent evt) { var id = _listener.GetCorrelationId(evt); var saga = _repo.GetById <DeliverPizzaSaga2>(id); saga.Transition(evt); _repo.Save(saga, Guid.NewGuid(), null); }
public void listener_tests_when_id_has_prefix() { var listener = new DeliverPizzaSagaListener2(); var orderId = new OrderId(5); var placed = new OrderPlaced(orderId); var printed = new BillPrinted(orderId); var received = new PaymentReceived(orderId, Guid.NewGuid()); var delivered = new PizzaDelivered(orderId); Assert.AreEqual("DeliverPizzaSaga2_" + (string)orderId, listener.GetCorrelationId(placed)); Assert.AreEqual("DeliverPizzaSaga2_" + (string)orderId, listener.GetCorrelationId(printed)); Assert.AreEqual("DeliverPizzaSaga2_" + (string)orderId, listener.GetCorrelationId(received)); Assert.AreEqual("DeliverPizzaSaga2_" + (string)orderId, listener.GetCorrelationId(delivered)); }
protected async Task ApplyEventOnSaga(DomainEvent evt) { var id = _listener.GetCorrelationId(evt); var saga = await _repo.GetByIdAsync <DeliverPizzaSaga2>(id).ConfigureAwait(false); saga.MessageReceived(evt); await _repo.SaveAsync(saga, Guid.NewGuid().ToString(), null).ConfigureAwait(false); }