Пример #1
0
        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();
            }
        }
Пример #2
0
        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);
            }
        }