Beispiel #1
0
        public string GenerateAttributeTechnicalName(string displayName)
        {
            displayName = displayName.ToSafeName();
            var attributes = GetSimilarNames(displayName);

            return(AttributeNameUtilities.GenerateAttributeTechnicalName(displayName, attributes));
        }
Beispiel #2
0
        public bool ProcessTechnicalName(ProductAttributePart part)
        {
            bool sameName   = true;
            var  attributes = GetSimilarNames(part.TechnicalName).Where(p => p.ContentItem.Id != part.ContentItem.Id);

            if (attributes.Any())
            {
                var oldName = part.TechnicalName;
                part.TechnicalName = AttributeNameUtilities.GenerateAttributeTechnicalName(part.TechnicalName, attributes);
                if (part.TechnicalName != oldName)
                {
                    sameName = false;
                }
            }
            return(sameName);
        }
        public int UpdateFrom3()
        {
            SchemaBuilder.AlterTable("ProductAttributePartRecord", table => table
                                     .AddColumn <string>("TechnicalName"));

            //generate technical names for existing attributes
            var existingAttributeParts = _contentManager.Query <ProductAttributePart>("ProductAttribute").List().ToArray();

            for (int i = 0; i < existingAttributeParts.Length; i++)
            {
                existingAttributeParts[i].TechnicalName =
                    AttributeNameUtilities.GenerateAttributeTechnicalName(existingAttributeParts[i], existingAttributeParts.Take(i));
            }

            return(4);
        }