Beispiel #1
0
 public void Process(Order order)
 {
     if (_validator.Validate(order))
     {
         _shipper.Ship(order);
     }
 }
Beispiel #2
0
 public void Ship(Order order)
 {
     if (_orderShipper == null)
     {
         _orderShipper = _orderShipperFactory.GetOrderShipper();
     }
     _orderShipper.Ship(order);
 }
Beispiel #3
0
        public SuccessResult Process(Order order)
        {
            bool isValid = _validator.Validate(order);

            if (isValid)
            {
                _collector.Collect(order);
                _orderShipper.Ship(order);

                var shippingMessage = new ShippedToCustomerMessage {
                    CutomerId = order.CustomerId, OrderId = order.Id, Content = string.Format("Shipped order {0} to Customer {1}", order.Id, order.CustomerId)
                };
                var orderMessage = new OrderValidatedForCustomerMessage {
                    CutomerId = order.CustomerId, OrderId = order.Id, Content = string.Format("Validated order {0} for Customer {1}", order.Id, order.CustomerId)
                };
                _messageDispatcher.Handle(shippingMessage);
                _messageDispatcher.Handle(orderMessage);
            }

            return(CreateStatus(isValid));
        }