private DateTime GetLastModifiedTime(string resourceFile, string culture, Dto.Localization localization)
        {
            Requires.NotNullOrEmpty("culture", culture);

            var cacheKey   = string.Format(localization.ResxModifiedDateCacheKey, culture);
            var cachedData = DataCache.GetCache(cacheKey);

            if (cachedData is DateTime)
            {
                return((DateTime)DataCache.GetCache(cacheKey));
            }
            var lastModifiedDate = GetLastModifiedTimeInternal(resourceFile, culture);


            DataCache.SetCache(cacheKey, lastModifiedDate, (DNNCacheDependency)null,
                               Cache.NoAbsoluteExpiration, OneHour, CacheItemPriority.Normal, null);

            return(lastModifiedDate);
        }
        public Dictionary <string, string> GetLocalizedDictionary(string resourceFile, string culture, Dto.Localization localization)
        {
            Requires.NotNullOrEmpty("resourceFile", resourceFile);
            Requires.NotNullOrEmpty("culture", culture);

            var cacheKey      = string.Format(localization.ResxDataCacheKey, culture, resourceFile);
            var localizedDict = DataCache.GetCache(cacheKey) as Dictionary <string, string>;

            if (localizedDict != null)
            {
                return(localizedDict);
            }

            var dictionary = new Dictionary <string, string>();


            foreach (var kvp in GetLocalizationValues(resourceFile, culture).Where(kvp => !dictionary.ContainsKey(kvp.Key)))
            {
                dictionary[kvp.Key] = kvp.Value;
            }

            DataCache.SetCache(cacheKey, dictionary, (DNNCacheDependency)null,
                               Cache.NoAbsoluteExpiration, FiveMinutes, CacheItemPriority.Normal, null);

            return(dictionary);
        }
 public long GetResxTimeStamp(string resourceFile, Dto.Localization localization)
 {
     return(GetLastModifiedTime(resourceFile, CultureName, localization).Ticks);
 }