示例#1
0
 public OrdersImpl(
     IngredientsService.IngredientsServiceClient ingredients,
     IOrderPublisher orderPublisher,
     IOrderMessages orderMessages)
 {
     _ingredients    = ingredients;
     _orderPublisher = orderPublisher;
     _orderMessages  = orderMessages;
 }
        public void Constructor_Should_Throw_ArgumentNullException_When_OrderPublisher_Is_Null()
        {
            // Arrange
            IOrderPublisher publisher = null;
            Action          ctor      = () => new OrderController(publisher, _mockOrderNumberService.Object);

            // Act + Assert
            ctor.Should()
            .Throw <ArgumentNullException>();
        }
示例#3
0
        public OrderProcessorStateMachine(IOrderPublisher orderPublisher)
        {
            OrderPublisher = orderPublisher;

            InstanceState(x => x.State);

            ConfigureCorrelationIds();
            Initially(SetOrderSummitedHandler());

            During(Processing, SetStockReservedHandler(), SetPaymentProcessedHandler());

            During(Processing,
                   When(ReadyForShipment)
                   .Then(c => Console.WriteLine($"Order {c.Instance.OrderId} was allowed to be shipped"))
                   .Then(c => Thread.Sleep(2000))
                   .ThenAsync(c => OrderPublisher.OrderApproved(new OrderApprovedModel
            {
                OrderId = c.Instance.OrderId
            }))
                   .Finalize());

            CompositeEvent(() => ReadyForShipment, order => order.CompositeStatus, PaymentProcessed, StockReserved);
        }
示例#4
0
 public OrderController(IOrderPublisher orderPublisher, IOrderNumberService orderNumberService)
 {
     _orderPublisher     = orderPublisher ?? throw new ArgumentNullException(nameof(orderPublisher));
     _orderNumberService = orderNumberService ?? throw new ArgumentNullException(nameof(orderNumberService));
 }
示例#5
0
 public NewOrderConsumer(IOrderPublisher orderPublisher)
 {
     OrderPublisher = orderPublisher;
 }