/// <summary> /// Generate AttributeInProductType object /// </summary> /// <param name="attributeFQN"></param> /// <param name="valueList"></param> /// <param name="order"></param> /// <param name="isHiddenProperty"></param> /// <param name="isInheritedFromBaseType"></param> /// <param name="isMultiValueProperty"></param> /// <param name="IsRequiredByAdmin"></param> /// <returns></returns> public static AttributeInProductType GenerateAttributeInProductType(Mozu.Api.Contracts.ProductAdmin.Attribute attr, int? order = null, bool? isHiddenProperty = null, bool? isInheritedFromBaseType = null, bool? isMultiValueProperty = null, bool? IsRequiredByAdmin = null) { var attrtp = new AttributeInProductType() { AttributeFQN = attr.AttributeFQN, IsHiddenProperty = isHiddenProperty, IsInheritedFromBaseType = isInheritedFromBaseType, IsMultiValueProperty = isMultiValueProperty, IsRequiredByAdmin = IsRequiredByAdmin, Order = order, // AttributeDetail = , }; if (attr.VocabularyValues != null) { attrtp.VocabularyValues = new List<AttributeVocabularyValueInProductType>(); foreach (var value in attr.VocabularyValues) { attrtp.VocabularyValues.Add(GenerateAttributeVocabularyValueInProductType(value.Value, null)); } } return attrtp; }
/// <summary> /// generate ProductProperty /// </summary> /// <param name="attributeFQN"></param> /// <returns></returns> public static ProductProperty GenerateProductProperty(AttributeInProductType attr) { var property = new ProductProperty() { AttributeFQN = attr.AttributeFQN }; if (attr.VocabularyValues != null) { foreach (var value in attr.VocabularyValues) { if (property.Values == null) { property.Values = new List<ProductPropertyValue>(); } property.Values.Add(GenerateProductPropertyValue(value.Value, GenerateProductPropertyValueLocalizedContent( Generator.RandomString(5, Generator.RandomCharacterGroup.AlphaOnly)))); if (attr.IsMultiValueProperty != null && attr.IsMultiValueProperty == false) break; } } return property; }
/// <summary> /// generate ProductOption object /// </summary> /// <param name="attr"></param> /// <returns></returns> public static ProductOption GenerateProductOption(AttributeInProductType attr) { var option = new ProductOption() { AttributeFQN = attr.AttributeFQN }; if (attr.VocabularyValues != null) { foreach (var value in attr.VocabularyValues) { if (option.Values == null) { option.Values = new List<ProductOptionValue>(); } option.Values.Add(GenerateProductOptionValue(value.Value)); //if (attr.IsMultiValueProperty != null && attr.IsMultiValueProperty == false) // break; } } return option; }
/// <summary> /// /// </summary> /// <param name="attr"></param> /// <param name="valueCount"></param> /// <returns></returns> public static ProductOption GenerateProductOption(AttributeInProductType attr, int valueCount) { var option = new ProductOption() { AttributeFQN = attr.AttributeFQN }; if (attr.VocabularyValues != null) { int count = 0; foreach (var value in attr.VocabularyValues) { if (option.Values == null) { option.Values = new List<ProductOptionValue>(); } option.Values.Add(GenerateProductOptionValue(value.Value)); count++; if (count == valueCount) break; } } return option; }
/// <summary> /// generate ProductExtra object /// </summary> /// <param name="attributeInProductType"></param> /// <param name="isMultiSelect"></param> /// <param name="isRequired"></param> /// <returns></returns> public static ProductExtra GenerateProductExtra(AttributeInProductType attributeInProductType, bool? isMultiSelect = null, bool? isRequired = null) { var extra = new ProductExtra() { AttributeFQN = attributeInProductType.AttributeFQN, IsMultiSelect = isMultiSelect, IsRequired = isRequired }; if (attributeInProductType.VocabularyValues != null) { foreach (var value in attributeInProductType.VocabularyValues) { if (extra.Values == null) { extra.Values = new List<ProductExtraValue>(); } extra.Values.Add(GenerateProductExtraValue(Generator.RandomDecimal(10, 20), value.Value, null, null)); //if (attr.IsMultiValueProperty != null && attr.IsMultiValueProperty == false) // break; } } return extra; }