/// <summary> /// 移除商品Sku /// </summary> /// <param name="skuId">商品Sku id</param> internal void RemoveSku(int skuId) { if (Skus.ContainsKey(skuId)) { Skus.Remove(skuId); } }
/// <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 }; } }
/// <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 }; } }
/// <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); } }