Barista.Service.MicroServices.Orders.Handlers.BaristaOrderCommandHandlers.Handle C# (CSharp) Метод

Handle() публичный Метод

public Handle ( CompleteOrder message ) : void
message Barista.Service.MicroServices.Orders.Commands.CompleteOrder
Результат void
        public void Handle(CompleteOrder message)
        {
            var order = repository.GetById<BaristaOrder>(message.Id);

            int committedVersion = message.OriginalVersion;

            order.CompletePreparation(committedVersion++);

            repository.Save(order);
        }

Usage Example

Пример #1
0
        public void Should_raise_prepared_event_when_barista_completes_preparation()
        {
            var id = Guid.NewGuid();
            var handler = new BaristaOrderCommandHandlers(repository);
            var e = new OrderPlaced(id, Guid.NewGuid(), 1);
            var eventHandler = new CashierOrderEventHandler(repository);
            eventHandler.Apply(e);

            var order = repository.GetById<BaristaOrder>(id);
            Assert.False(order.IsCompleted);

            var command = new CompleteOrder(id, order.Version);
            handler.Handle(command);

            order = repository.GetById<BaristaOrder>(id);
            Assert.True(order.IsCompleted);
        }
BaristaOrderCommandHandlers