目录
#region web私有方法
/// <summary>
/// </summary>
static List<CartItemModel> GenerateCartItem(IEnumerable<string> skuIds, IEnumerable<int> counts)
{
int i = 0;
var products = skuIds.Select(item =>
{
var sku = _iProductService.GetSku(item);
var count = counts.ElementAt(i++);
var product = _iProductService.GetProduct(sku.ProductInfo.Id);
var ltmbuy = _iLimitTimeBuyService.GetLimitTimeMarketItemByProductId(sku.ProductInfo.Id);
var price = sku.SalePrice;
if (ltmbuy != null)
{
if (count > ltmbuy.LimitCountOfThePeople)
throw new HimallException("超过最大限购数量:" + ltmbuy.LimitCountOfThePeople.ToString() + "");
}
else
{
#region 阶梯价--张宇枫
if (product.IsOpenLadder)
{
price = ProductManagerApplication.GetProductLadderPrice(product.Id, count);
}
#endregion
}
if (sku.Stock < count)
{
//throw new HimallException("库存不足");
}
ProductTypeInfo typeInfo = ServiceProvider.Instance<ITypeService>.Create.GetTypeByProductId(sku.ProductInfo.Id);
string colorAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.ColorAlias)) ? SpecificationType.Color.ToDescription() : typeInfo.ColorAlias;
string sizeAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.SizeAlias)) ? SpecificationType.Size.ToDescription() : typeInfo.SizeAlias;
string versionAlias = (typeInfo == null || string.IsNullOrEmpty(typeInfo.VersionAlias)) ? SpecificationType.Version.ToDescription() : typeInfo.VersionAlias;
string skuDetails = "";
if (!string.IsNullOrWhiteSpace(sku.Size))
{
if (!string.IsNullOrWhiteSpace(skuDetails))
{
skuDetails += "、";
}
skuDetails += sku.Size;
}
if (!string.IsNullOrWhiteSpace(sku.Color))
{
if (!string.IsNullOrWhiteSpace(skuDetails))
{
skuDetails += "、";
}
skuDetails += sku.Color;
}
if (!string.IsNullOrWhiteSpace(sku.Version))
{
if (!string.IsNullOrWhiteSpace(skuDetails))
{
skuDetails += "、";
}
skuDetails += sku.Version;
}
return new CartItemModel()
{
skuId = item,
id = sku.ProductInfo.Id,
imgUrl = Core.HimallIO.GetRomoteProductSizeImage(sku.ProductInfo.RelativePath, 1, (int)(ImageSize.Size_100)),
name = sku.ProductInfo.ProductName,
shopId = sku.ProductInfo.ShopId,
price = ltmbuy == null ? price : (decimal)_iLimitTimeBuyService.GetDetail(item).Price,
count = count,
productCode = sku.ProductInfo.ProductCode,
unit = sku.ProductInfo.MeasureUnit,
size = sku.Size,
color = sku.Color,
version = sku.Version,
skuDetails = skuDetails,
IsSelf = sku.ProductInfo.Himall_Shops.IsSelf,
ColorAlias = colorAlias,
SizeAlias = sizeAlias,
VersionAlias = versionAlias,
IsLimit = ltmbuy != null,
FreightTemplateId = sku.ProductInfo.FreightTemplateId,
IsOpenLadder = sku.ProductInfo.IsOpenLadder
};
}).ToList();
return products;
}
/// <summary>