using System.Collections.Generic; using System.ComponentModel; using System.Configuration; using System.Linq; namespace Kreta.Web.Configuration { public class UploadFileValidationConfiguration : ConfigurationSection, IUploadFileValidationConfiguration { [ConfigurationProperty(nameof(ImportMaxAllowedFileSizeInBytes), IsRequired = true)] public int ImportMaxAllowedFileSizeInBytes => (int)this[nameof(ImportMaxAllowedFileSizeInBytes)]; [ConfigurationProperty(nameof(ImportAllowedFileExtensions), IsRequired = true)] [TypeConverter(typeof(CommaDelimitedStringCollectionConverter))] public IEnumerable ImportAllowedFileExtensions => ((CommaDelimitedStringCollection)this[nameof(ImportAllowedFileExtensions)]).OfType(); [ConfigurationProperty(nameof(AscImportAllowedFileExtensions), IsRequired = true)] [TypeConverter(typeof(CommaDelimitedStringCollectionConverter))] public IEnumerable AscImportAllowedFileExtensions => ((CommaDelimitedStringCollection)this[nameof(AscImportAllowedFileExtensions)]).OfType(); } }