コード例 #1
0
        protected virtual void ConvertCheckoutAttribute(ProductVariantQuery query, string key, ICollection <string> values)
        {
            var ids = key.Replace("cattr", "").SplitSafe("-");

            if (ids.Length <= 0)
            {
                return;
            }

            var attributeId = ids[0].ToInt();
            var isDate      = key.EndsWith("-date") || key.EndsWith("-year");
            var isFile      = key.EndsWith("-file");
            var isText      = key.EndsWith("-text");

            if (isDate || isFile || isText)
            {
                var value     = isText ? string.Join(",", values) : values.First();
                var attribute = new CheckoutAttributeQueryItem(attributeId, value)
                {
                    IsFile = isFile,
                    IsText = isText
                };

                if (isDate)
                {
                    attribute.Date = ConvertToDate(key, value);
                }

                query.AddCheckoutAttribute(attribute);
            }
            else
            {
                foreach (var value in values)
                {
                    query.AddCheckoutAttribute(new CheckoutAttributeQueryItem(attributeId, value));
                }
            }
        }
コード例 #2
0
        protected virtual void ConvertCheckoutAttribute(ProductVariantQuery query, string key, string value)
        {
            if (key.EndsWith("-day") || key.EndsWith("-month"))
            {
                return;
            }

            var ids = key.Replace("cattr", "").SplitSafe("-");

            if (ids.Length > 0)
            {
                var attribute = new CheckoutAttributeQueryItem(ids[0].ToInt(), value);

                if (key.EndsWith("-date") || key.EndsWith("-year"))
                {
                    attribute.Date = ConvertToDate(key, value);
                }

                query.AddCheckoutAttribute(attribute);
            }
        }