Beispiel #1
0
        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);
        }