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;
                }
            }
        }
Beispiel #2
0
        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");
                }
            }
        }