本文整理汇总了C#中ISpecificationAttributeService.GetProductSpecificationAttributes方法的典型用法代码示例。如果您正苦于以下问题:C# ISpecificationAttributeService.GetProductSpecificationAttributes方法的具体用法?C# ISpecificationAttributeService.GetProductSpecificationAttributes怎么用?C# ISpecificationAttributeService.GetProductSpecificationAttributes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISpecificationAttributeService
的用法示例。
在下文中一共展示了ISpecificationAttributeService.GetProductSpecificationAttributes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PrepareProductSpecificationModel
public static IList<ProductSpecificationModel> PrepareProductSpecificationModel(this Controller controller,
IWorkContext workContext,
ISpecificationAttributeService specificationAttributeService,
ICacheManager cacheManager,
Product product)
{
if (product == null)
throw new ArgumentNullException("product");
string cacheKey = string.Format(ModelCacheEventConsumer.PRODUCT_SPECS_MODEL_KEY, product.Id, workContext.WorkingLanguage.Id);
return cacheManager.Get(cacheKey, () =>
specificationAttributeService.GetProductSpecificationAttributes(product.Id, 0, null, true)
.Select(psa =>
{
var m = new ProductSpecificationModel
{
SpecificationAttributeId = psa.SpecificationAttributeOption.SpecificationAttributeId,
SpecificationAttributeName = psa.SpecificationAttributeOption.SpecificationAttribute.GetLocalized(x => x.Name),
ColorSquaresRgb = psa.SpecificationAttributeOption.ColorSquaresRgb
};
switch (psa.AttributeType)
{
case SpecificationAttributeType.Option:
m.ValueRaw = HttpUtility.HtmlEncode(psa.SpecificationAttributeOption.GetLocalized(x => x.Name));
break;
case SpecificationAttributeType.CustomText:
m.ValueRaw = HttpUtility.HtmlEncode(psa.CustomValue);
break;
case SpecificationAttributeType.CustomHtmlText:
m.ValueRaw = psa.CustomValue;
break;
case SpecificationAttributeType.Hyperlink:
m.ValueRaw = string.Format("<a href='{0}' target='_blank'>{0}</a>", psa.CustomValue);
break;
default:
break;
}
return m;
}).ToList()
);
}