예제 #1
0
        public void WhenIRemoveLineWithIdentityFromOrder(string id)
        {
            var order     = GetOrder();
            var orderLine = order.Lines.Get(OrderLineIdentifier.Parse(id));

            orderLine.Remove();
        }
 public override Core.OrderManagement.Orders.Events.OrderLineQuantityAdjusted ConvertToIntern(OrderLineQuantityAdjusted e)
 {
     return(new Core.OrderManagement.Orders.Events.OrderLineQuantityAdjusted(
                OrderIdentifier.Parse(e.OrderIdentifier),
                OrderLineIdentifier.Parse(e.OrderLineIdentifier),
                e.Quantity));
 }
예제 #3
0
        public void WhenIChangeQuantityToFromOrderlineWithId(int quantity, string id)
        {
            var orderLineIdentity = OrderLineIdentifier.Parse(id);
            var order             = GetOrder();
            var orderLine         = order.Lines.Get(orderLineIdentity);

            orderLine.AdjustQuantity(quantity);
        }
예제 #4
0
 public void GivenOrderHasAnItemProductWithQuantity(string product, int quantity)
 {
     AddEvent(new OrderLineCreated(
                  _orderIdentifier,
                  OrderLineIdentifier.Create(1),
                  ProductIdentifier.Parse(product),
                  ProductName.Create("Test"),
                  quantity));
 }
 public override Core.OrderManagement.Orders.Events.OrderLineCreated ConvertToIntern(OrderLineCreated e)
 {
     return(new Core.OrderManagement.Orders.Events.OrderLineCreated(
                OrderIdentifier.Parse(e.OrderIdentifier),
                OrderLineIdentifier.Parse(e.OrderLineIdentifier),
                ProductIdentifier.Parse(e.ProductIdentifier),
                ProductName.Create(e.ProductName),
                e.Quantity));
 }
예제 #6
0
 public OrderLineCreated(
     OrderIdentifier orderIdentifier,
     OrderLineIdentifier orderLineIdentifier,
     ProductIdentifier productIdentifier,
     ProductName productName,
     int quantity)
 {
     OrderIdentifier     = orderIdentifier;
     OrderLineIdentifier = orderLineIdentifier;
     ProductIdentifier   = productIdentifier;
     ProductName         = productName;
     Quantity            = quantity;
 }
예제 #7
0
        public OrderLine CreateOrderLine(Product product, int quantity)
        {
            if (Lines.Any(ol => ol.ProductIdentifier == product.Identifier))
            {
                throw new InvalidOperationException($"An orderline with product {product.Identifier} already exists");
            }

            var orderLineIdentifier = OrderLineIdentifier.NextIdentifier(Lines.LastIdentifier);

            ApplyChange(
                new OrderLineCreated(
                    OrderIdentifier,
                    orderLineIdentifier,
                    product.Identifier,
                    product.ProductName,
                    quantity));

            return(Lines.Get(orderLineIdentifier));
        }
예제 #8
0
 public override Core.OrderManagement.Orders.Events.OrderLineRemoved ConvertToIntern(OrderLineRemoved e)
 {
     return(new Core.OrderManagement.Orders.Events.OrderLineRemoved(
                OrderIdentifier.Parse(e.OrderIdentifier),
                OrderLineIdentifier.Parse(e.OrderLineIdentifier)));
 }
예제 #9
0
 public void AdjustOrderLine(OrderLineIdentifier orderLineIdentifier, in int quantity)
예제 #10
0
 public void Int()
 {
     N = new OrderLineIdentifier();
 }
예제 #11
0
 public OrderLineRemoved(OrderIdentifier orderIdentifier, OrderLineIdentifier orderLineIdentifier)
 {
     OrderIdentifier     = orderIdentifier;
     OrderLineIdentifier = orderLineIdentifier;
 }
예제 #12
0
 public OrderLineQuantityAdjusted(OrderIdentifier orderIdentifier, OrderLineIdentifier orderLineIdentifier, int quantity)
 {
     OrderIdentifier     = orderIdentifier;
     OrderLineIdentifier = orderLineIdentifier;
     Quantity            = quantity;
 }