private static void LoadGroups(WebAssetItemGroupConfigurationElementCollection source, IDictionary<string, WebAssetItemGroup> destination, string defaultPath, string defaultVersion)
{
foreach (WebAssetItemGroupConfigurationElement configurationGroup in source)
{
WebAssetItemGroup group = new WebAssetItemGroup(configurationGroup.Name, true)
{
DefaultPath = !string.IsNullOrEmpty(configurationGroup.DefaultPath) ? configurationGroup.DefaultPath : defaultPath,
ContentDeliveryNetworkUrl = configurationGroup.ContentDeliveryNetworkUrl,
Enabled = configurationGroup.Enabled,
Version = !string.IsNullOrEmpty(configurationGroup.Version) ? configurationGroup.Version : defaultVersion,
Compress = configurationGroup.Compress,
CacheDurationInDays = configurationGroup.CacheDurationInDays,
Combined = configurationGroup.Combined
};
if (configurationGroup.UseTelerikContentDeliveryNetwork.HasValue)
{
group.UseTelerikContentDeliveryNetwork = configurationGroup.UseTelerikContentDeliveryNetwork.Value;
}
foreach (WebAssetItemConfigurationElement configurationItem in configurationGroup.Items)
{
string itemSource = configurationItem.Source.StartsWith("~/", StringComparison.OrdinalIgnoreCase) ?
configurationItem.Source :
PathHelper.CombinePath(group.DefaultPath, configurationItem.Source);
group.Items.Add(new WebAssetItem(itemSource));
}
destination.Add(group.Name, group);
}
}