Ejemplo n.º 1
0
        private void UpdateOrderLine(ProductOption option, int quantity, bool absolute)
        {
            var line = _lines.FirstOrDefault(l => l.ProductOption.SKU == option.SKU);

            if (line == null && quantity > 0)
            {
                _lines.Add(_factory.CreateOrderLine(option, quantity));
            }
            else
            {
                if (!absolute)
                {
                    quantity += line.Quantity;
                }

                if (quantity <= 0)
                {
                    _lines.Remove(line);
                }
                else
                {
                    line.UpdateQuantity(quantity);
                }
            }
        }
Ejemplo n.º 2
0
 public void AddOption(ProductOption option)
 {
     _options.Add(option);
 }
Ejemplo n.º 3
0
 public void UpdateItem(ProductOption option, int quantity)
 {
     UpdateOrderLine(option, quantity, true);
 }
Ejemplo n.º 4
0
 public void RemoveItem(ProductOption option)
 {
     UpdateOrderLine(option, 0, true);
 }
Ejemplo n.º 5
0
 public void AddItem(ProductOption option, int quantity)
 {
     UpdateOrderLine(option, quantity, false);
 }