コード例 #1
0
 /// <summary>
 /// Adds the line item directly to the current <see cref="Sale"/>.
 /// </summary>
 /// <param name="lineItem"></param>
 public void AddLineItem(SalesLineItem lineItem)
 {
     if (lineItem != null)
     {
         LineItems.Add(lineItem);
     }
 }
コード例 #2
0
        /// <summary>
        /// <para>Creates a new line item for the given product if one does not already exit and adds it to the current <see cref="Sale"/>.</para>
        /// <para>Otherwise, the existing line item's quantity is updated.</para>
        /// </summary>
        /// <param name="product"></param>
        /// <param name="quantity"></param>
        public void MakeLineItem(Product product, int quantity)
        {
            if (product == null)
            {
                return;
            }

            var lineItem         = new SalesLineItem(product, quantity);
            var existingLineItem = LineItems.SingleOrDefault(i => i.Equals(lineItem));

            if (existingLineItem == null)
            {
                LineItems.Add(lineItem);
            }
            else
            {
                existingLineItem.AddQuantity(lineItem.Quantity);
            }
        }