public string GenerateAttributeTechnicalName(string displayName) { displayName = displayName.ToSafeName(); var attributes = GetSimilarNames(displayName); return(AttributeNameUtilities.GenerateAttributeTechnicalName(displayName, attributes)); }
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); }