protected void TrimProperties(ExtentionPropertyCollection properties, int maxSize) { if (properties == null) { return; } var allProperties = properties.ToList(); foreach (var property in allProperties) { TrimProperty(properties, property); } int size = properties.GetWebSize(); while (size > maxSize) { if (properties.Count == 0) { break; } //удаляем одно самое тяжелое свойство var heavyProperty = properties .ToList() .OrderByDescending(x => x.GetWebSize()) .First(); properties.Remove(heavyProperty); size = properties.GetWebSize(); } }
protected void TrimProperty(ExtentionPropertyCollection properties, ExtentionProperty property) { string name = GetGoodString(property.Name, PropertyNameMaxLength); if (name == null) { properties.Remove(property); return; } if (name != property.Name) { properties.Rename(property, name); } }