/// <summary> /// 根据语言返回相关的面描述 /// </summary> /// <param name="language"></param> /// <param name="enumLanguageType"></param> /// <returns></returns> private string GetDescribeInfoByLang(Language language, EnumLanguageType enumLanguageType) { switch (enumLanguageType) { case EnumLanguageType.Zh: return(language.Zh); case EnumLanguageType.Zh_Tw: return(string.IsNullOrEmpty(language.Tw) ? language.Zh : language.Tw); case EnumLanguageType.En: return(string.IsNullOrEmpty(language.En) ? language.Zh : language.En); case EnumLanguageType.Ar: return(string.IsNullOrEmpty(language.Ar) ? language.En : language.Ar); case EnumLanguageType.De: return(string.IsNullOrEmpty(language.De) ? language.En : language.De); case EnumLanguageType.Es: return(string.IsNullOrEmpty(language.Es) ? language.En : language.Es); case EnumLanguageType.Fr: return(string.IsNullOrEmpty(language.Fr) ? language.En : language.Fr); case EnumLanguageType.Ja: return(string.IsNullOrEmpty(language.Ja) ? language.En : language.Ja); case EnumLanguageType.Ko: return(string.IsNullOrEmpty(language.Ko) ? language.En : language.Ko); case EnumLanguageType.Pt: return(string.IsNullOrEmpty(language.Pt) ? language.En : language.Pt); case EnumLanguageType.Ru: return(string.IsNullOrEmpty(language.Ru) ? language.En : language.Ru); default: return(language.Zh); } }
/// <summary> /// 根据code获取数据并缓存 /// </summary> /// <param name="code">返回码</param> /// <param name="enumLanguageDataType">Language中Type的类型</param> /// <param name="enumLanguageType">需要什么样的语言类型</param> /// <returns></returns> private string GetDescribeInfoAndRefreshCache(string code, EnumLanguageDataType enumLanguageDataType, EnumLanguageType enumLanguageType) { string key = string.Format("NGK_Language_{0}_{1}", code, (int)enumLanguageDataType); Language language = DbSet.FirstOrDefault(p => p.State == (int)EnumState.Normal && p.Type == (int)enumLanguageDataType && p.Code == code); if (language != null) { try { CacheManager.Set(key, language, 10 * 60); CacheManager.Refresh(key); } catch { } return(GetDescribeInfoByLang(language, enumLanguageType)); } return("System Error"); }
/// <summary> /// 获取描述 /// </summary> /// <param name="code">返回码</param> /// <param name="enumLanguageDataType">Language中Type的类型</param> /// <param name="enumLanguageType">需要什么样的语言类型</param> /// <returns></returns> public string GetDescribe(string code, EnumLanguageDataType enumLanguageDataType, EnumLanguageType enumLanguageType) { try { string key = string.Format("NGK_Language_{0}_{1}", code, (int)enumLanguageDataType); if (CacheManager.TryGet <Language>(key, out var language) && language != null) { return(GetDescribeInfoByLang(language, enumLanguageType)); } return(GetDescribeInfoAndRefreshCache(code, enumLanguageDataType, enumLanguageType)); } catch (Exception ex) { Log4NetHelper.WriteError(GetType(), ex, ex.Message); return("System Error"); } }