protected virtual void CreateShorts() { if (_item.ItemClass != null) { ItemClassComponent component = _item.ItemClassComponents.First(); ItemClass itemClass = _item.ItemClass; string waistCode, colorCode; switch (itemClass.Dimensions) { case 1: waistCode = itemClass.MatrixAttributeDisplayOrders.First(p => p.Attribute.Equals(component.Detail1) && p.Dimension == 1).Code; _item.Dimensions.Add(DimensionName.Waist, new Attribute() { Code = waistCode, Value = component.Detail1 }); break; case 2: colorCode = itemClass.MatrixAttributeDisplayOrders.First(p => p.Attribute.Equals(component.Detail1) && p.Dimension == 1).Code; waistCode = itemClass.MatrixAttributeDisplayOrders.First(p => p.Attribute.Equals(component.Detail2) && p.Dimension == 2).Code; _item.Dimensions.Add(DimensionName.Color, new Attribute() { Code = colorCode, Value = component.Detail1 }); _item.Dimensions.Add(DimensionName.Waist, new Attribute() { Code = waistCode, Value = component.Detail2 }); break; } } else { string[] skuDetails = _item.ItemLookupCode.Split(new Char[1] { '-' }); switch (skuDetails.Length) { case 2: _item.Dimensions.Add(DimensionName.Waist, new Attribute() { Code = skuDetails[1], Value = skuDetails[1] }); break; } } }
private string[] GetAttributes() { string[] attributes = null; if (this.ItemClass == null) { string[] skuDetails = ItemLookupCode.Split(new Char[1] { '-' }); attributes = new string[skuDetails.Length - 1]; for (int i = 0; i < attributes.Length; i++) { attributes[i] = skuDetails[i + 1]; } } else { ItemClassComponent component = this.ItemClassComponents.First(); switch (this.ItemClass.Dimensions) { case 1: attributes = new string[1] { component.Detail1 }; break; case 2: attributes = new string[2] { component.Detail1, component.Detail2 }; break; case 3: attributes = new string[3] { component.Detail1, component.Detail2, component.Detail3 }; break; } } return(attributes); }
protected virtual void CreateShoes() { if (_item.ItemClass != null) { ItemClassComponent component = _item.ItemClassComponents.First(); ItemClass itemClass = _item.ItemClass; string sizeCode, widthCode, colorCode; switch (itemClass.Dimensions) { case 1: sizeCode = itemClass.MatrixAttributeDisplayOrders.First(p => p.Attribute.Equals(component.Detail1) && p.Dimension == 1).Code; _item.Dimensions.Add(GetShoeAttributeLabel(component.Detail1), new Attribute() { Code = sizeCode, Value = component.Detail1 }); _item.Dimensions.Add(DimensionName.Width, new Attribute() { Code = "M", Value = "M" }); break; case 2: sizeCode = itemClass.MatrixAttributeDisplayOrders.First(p => p.Attribute.Equals(component.Detail1) && p.Dimension == 1).Code; widthCode = itemClass.MatrixAttributeDisplayOrders.First(p => p.Attribute.Equals(component.Detail2) && p.Dimension == 2).Code; _item.Dimensions.Add(GetShoeAttributeLabel(component.Detail1), new Attribute() { Code = sizeCode, Value = component.Detail1 }); _item.Dimensions.Add(DimensionName.Width, new Attribute() { Code = widthCode, Value = component.Detail2 }); break; case 3: colorCode = itemClass.MatrixAttributeDisplayOrders.First(p => p.Attribute.Equals(component.Detail1) && p.Dimension == 1).Code; sizeCode = itemClass.MatrixAttributeDisplayOrders.First(p => p.Attribute.Equals(component.Detail2) && p.Dimension == 2).Code; widthCode = itemClass.MatrixAttributeDisplayOrders.First(p => p.Attribute.Equals(component.Detail3) && p.Dimension == 3).Code; _item.Dimensions.Add(DimensionName.Color, new Attribute() { Code = colorCode, Value = component.Detail1 }); _item.Dimensions.Add(GetShoeAttributeLabel(component.Detail2), new Attribute() { Code = sizeCode, Value = component.Detail2 }); _item.Dimensions.Add(DimensionName.Width, new Attribute() { Code = widthCode, Value = component.Detail3 }); break; } } else { string[] skuDetails = _item.ItemLookupCode.Split(new Char[1] { '-' }); switch (_item.DimCount) { case 1: _item.Dimensions.Add(GetShoeAttributeLabel(skuDetails[1]), new Attribute() { Code = skuDetails[1], Value = skuDetails[1] }); _item.Dimensions.Add(DimensionName.Width, new Attribute() { Code = "M", Value = "M" }); break; case 2: _item.Dimensions.Add(GetShoeAttributeLabel(skuDetails[1]), new Attribute() { Code = skuDetails[1], Value = skuDetails[1] }); _item.Dimensions.Add(DimensionName.Width, new Attribute() { Code = skuDetails[2], Value = skuDetails[2] }); break; default: throw new NotImplementedException("invalid sku"); } } }