/// <summary> /// Creates a new language given the culture code - ie. da-dk (denmark) /// </summary> /// <param name="cultureCode">Culturecode of the language</param> public static void MakeNew(string cultureCode) { lock (Locker) { var culture = GetCulture(cultureCode); if (culture != null) { //insert it var newId = ApplicationContext.Current.DatabaseContext.Database.Insert(new LanguageDto { IsoCode = cultureCode }); var ct = new Language { _id = Convert.ToInt32(newId), _cultureAlias = cultureCode }; ct.UpdateNames(); ct.OnNew(new NewEventArgs()); } } }
/// <summary> /// Returns all installed languages /// </summary> /// <returns></returns> /// <remarks> /// This will return a cached set of all languages. if the cache is not found it will create it. /// </remarks> public static IEnumerable<Language> GetAllAsList() { return ApplicationContext.Current.ApplicationCache.GetCacheItem<IEnumerable<Language>>( CacheKeys.LanguageCacheKey, TimeSpan.FromMinutes(60), () => { var languages = new List<Language>(); var dtos = ApplicationContext.Current.DatabaseContext.Database.Fetch<LanguageDto>(""); foreach (var dto in dtos) { var ct = new Language {_id = dto.Id, _cultureAlias = dto.IsoCode}; ct.UpdateNames(); languages.Add(ct); } return languages; }); }