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); } } }
public void AddOption(ProductOption option) { _options.Add(option); }
public void UpdateItem(ProductOption option, int quantity) { UpdateOrderLine(option, quantity, true); }
public void RemoveItem(ProductOption option) { UpdateOrderLine(option, 0, true); }
public void AddItem(ProductOption option, int quantity) { UpdateOrderLine(option, quantity, false); }