Telerik.Web.Mvc.SharedWebAssets.LoadGroups C# (CSharp) Method

LoadGroups() private static method

private static LoadGroups ( WebAssetItemGroupConfigurationElementCollection source, WebAssetItemGroup>.IDictionary destination, string defaultPath, string defaultVersion ) : void
source WebAssetItemGroupConfigurationElementCollection
destination WebAssetItemGroup>.IDictionary
defaultPath string
defaultVersion string
return void
        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);
            }
        }