/// <summary> /// 获取指定类别的字典内容 /// </summary> /// <param name="tablename">字典名称</param> /// <param name="onlyenbaled">是否仅获取启用项</param> /// <returns></returns> public static Dictionary <string, Dictionary_Data> GetDicCollections(string tablename, bool onlyenbaled) { string CacheKey = "Cache-Dictionary_Data-Enabled-" + onlyenbaled.ToString(); Dictionary <string, Dictionary <string, Dictionary_Data> > dicdatas = (Dictionary <string, Dictionary <string, Dictionary_Data> >)DataCache.GetCache(CacheKey); if (dicdatas == null) { #region 从数据库中获取所有字典数据 IList <Dictionary_Type> dictypelist = DictionaryBLL.Dictionary_Type_GetAllList(); IList <Dictionary_Data> models = DictionaryBLL.Dictionary_Data_GetAlllList().OrderBy(p => int.Parse(p.Code)).ToList(); dicdatas = new Dictionary <string, Dictionary <string, Dictionary_Data> >(); //将IList队列转为字典型队列 foreach (Dictionary_Data m in models) { if (onlyenbaled && m.Enabled == "N") { continue; } string key = m.TableName; if (!string.IsNullOrEmpty(key)) { if (dicdatas.ContainsKey(key)) { dicdatas[key].Add(m.Code, m); } else { Dictionary <string, Dictionary_Data> subdic = new Dictionary <string, Dictionary_Data>(); subdic.Add(m.Code, m); dicdatas.Add(key, subdic); } } } #endregion #region 写入缓存 //创建缓存SQL依赖 AggregateCacheDependency cachedependency = new AggregateCacheDependency(); cachedependency.Add(new SqlCacheDependency("MCS_SYS", "Dictionary_Data")); cachedependency.Add(new SqlCacheDependency("MCS_SYS", "Dictionary_Type")); DataCache.SetCache(CacheKey, dicdatas, cachedependency); #endregion } if (!dicdatas.ContainsKey(tablename)) { return(new Dictionary <string, Dictionary_Data>()); } return(dicdatas[tablename]); }
/// <summary> /// 按条件获取字典项目数据 /// </summary> /// <param name="condition"></param> /// <returns></returns> public static IList <Dictionary_Data> Dictionary_Data_GetAlllList(string condition) { DictionaryBLL bll = new DictionaryBLL(); return(bll._GetModelList(condition)); }