Example #1
0
        /// <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]);
        }
Example #2
0
        /// <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));
        }