本文整理汇总了C#中IProductAttributeParser.ParseProductAttributeValues方法的典型用法代码示例。如果您正苦于以下问题:C# IProductAttributeParser.ParseProductAttributeValues方法的具体用法?C# IProductAttributeParser.ParseProductAttributeValues怎么用?C# IProductAttributeParser.ParseProductAttributeValues使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IProductAttributeParser
的用法示例。
在下文中一共展示了IProductAttributeParser.ParseProductAttributeValues方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetProductPicture
/// <summary>
/// Get product picture (for shopping cart and order details pages)
/// </summary>
/// <param name="product">Product</param>
/// <param name="attributesXml">Atributes (in XML format)</param>
/// <param name="pictureService">Picture service</param>
/// <param name="productAttributeParser">Product attribute service</param>
/// <returns>Picture</returns>
public static Picture GetProductPicture(this Product product, string attributesXml,
IPictureService pictureService,
IProductAttributeParser productAttributeParser)
{
if (product == null)
throw new ArgumentNullException("product");
if (pictureService == null)
throw new ArgumentNullException("pictureService");
if (productAttributeParser == null)
throw new ArgumentNullException("productAttributeParser");
Picture picture = null;
//first, let's see whether we have some attribute values with custom pictures
if (!String.IsNullOrEmpty(attributesXml))
{
var attributeValues = productAttributeParser.ParseProductAttributeValues(product, attributesXml);
foreach (var attributeValue in attributeValues)
{
var attributePicture = pictureService.GetPictureById(attributeValue.PictureId);
if (attributePicture != null)
{
picture = attributePicture;
break;
}
}
}
//now let's load the default product picture
if (picture == null)
{
var pp = product.ProductPictures.FirstOrDefault();
if (pp != null)
picture = pictureService.GetPictureById(pp.PictureId);
}
//let's check whether this product has some parent "grouped" product
if (picture == null && !product.VisibleIndividually && product.ParentGroupedProductId > 0)
{
var parentProduct = EngineContext.Current.Resolve<IProductService>().GetProductById(product.ParentGroupedProductId);
if(parentProduct!=null)
if(parentProduct.ProductPictures.Count > 0)
{
picture = pictureService.GetPictureById(parentProduct.ProductPictures.FirstOrDefault().PictureId);
}
}
return picture;
}
示例2: GetProductPicture
/// <summary>
/// Get product picture (for shopping cart and order details pages)
/// </summary>
/// <param name="product">Product</param>
/// <param name="attributesXml">Atributes (in XML format)</param>
/// <param name="pictureService">Picture service</param>
/// <param name="productAttributeParser">Product attribute service</param>
/// <returns>Picture</returns>
public static Picture GetProductPicture(this Product product, string attributesXml,
IPictureService pictureService,
IProductAttributeParser productAttributeParser)
{
if (product == null)
throw new ArgumentNullException("product");
if (pictureService == null)
throw new ArgumentNullException("pictureService");
if (productAttributeParser == null)
throw new ArgumentNullException("productAttributeParser");
Picture picture = null;
//first, let's see whether we have some attribute values with custom pictures
var attributeValues = productAttributeParser.ParseProductAttributeValues(attributesXml);
foreach (var attributeValue in attributeValues)
{
var attributePicture = pictureService.GetPictureById(attributeValue.PictureId);
if (attributePicture != null)
{
picture = attributePicture;
break;
}
}
//now let's load the default product picture
if (picture == null)
{
picture = pictureService.GetPicturesByProductId(product.Id, 1).FirstOrDefault();
}
//let's check whether this product has some parent "grouped" product
if (picture == null && !product.VisibleIndividually && product.ParentGroupedProductId > 0)
{
picture = pictureService.GetPicturesByProductId(product.ParentGroupedProductId, 1).FirstOrDefault();
}
return picture;
}