예제 #1
0
 /// <summary>
 /// 移除商品Sku
 /// </summary>
 /// <param name="skuId">商品Sku id</param>
 internal void RemoveSku(int skuId)
 {
     if (Skus.ContainsKey(skuId))
     {
         Skus.Remove(skuId);
     }
 }
예제 #2
0
 /// <summary>
 /// 添加商品Sku
 /// </summary>
 /// <param name="skuId">商品Sku id</param>
 /// <param name="itemId">商品 id</param>
 /// <param name="quantity">添加数量</param>
 internal void AddSku(int skuId, int itemId, int quantity = 1)
 {
     if (Skus.ContainsKey(skuId))
     {
         Skus[skuId].Quantity += quantity;
     }
     else
     {
         Skus[skuId] = new Sku {
             Quantity = quantity, ItemId = itemId
         };
     }
 }
예제 #3
0
 /// <summary>
 /// 设置商品Sku数量
 /// </summary>
 /// <param name="skuId">商品Sku id</param>
 /// <param name="itemId">商品 id</param>
 /// <param name="quantity">设置数量</param>
 internal void SetSkuQuantity(int skuId, int itemId, int quantity = 1)
 {
     if (quantity <= 1)
     {
         RemoveSku(skuId);
         return;
     }
     if (Skus.ContainsKey(skuId))
     {
         Skus[skuId].Quantity = quantity;
     }
     else
     {
         Skus[skuId] = new Sku {
             Quantity = quantity, ItemId = itemId
         };
     }
 }
예제 #4
0
            /// <summary>
            /// 减少商品Sku
            /// </summary>
            /// <param name="skuId">商品Sku id</param>
            /// <param name="quantity">减少数量</param>
            internal void SubtractSku(int skuId, int quantity = 1)
            {
                if (!Skus.ContainsKey(skuId))
                {
                    return;
                }
                var q = Skus[skuId].Quantity;
                var v = q - quantity;

                if (v > 0)
                {
                    Skus[skuId].Quantity = v;
                }
                else
                {
                    Skus.Remove(skuId);
                }
            }