Exemple #1
0
        /// <summary>
        /// 根据字典类型获取对应的CListItem集合
        /// </summary>
        /// <param name="dictTypeName">字典类型名称</param>
        /// <param name="corpId">公司ID</param>
        /// <returns></returns>
        public List <CListItem> GetDictListItemByDictType(string dictTypeName, string corpId)
        {
            List <CListItem>            itemList = new List <CListItem>();
            ICorpDictData               dal      = baseDal as ICorpDictData;
            Dictionary <string, string> dict     = dal.GetDictByDictType(dictTypeName, corpId);

            if (dict.Count == 0)
            {
                //写入公司字典表,避免下次再去获取
                List <DictDataInfo> list = BLLFactory <DictData> .Instance.FindByDictType(dictTypeName);

                foreach (DictDataInfo info in list)
                {
                    CorpDictDataInfo corpInfo = new CorpDictDataInfo(info, corpId);
                    baseDal.Insert(corpInfo);
                }

                //重新获取一次
                dict = dal.GetDictByDictType(dictTypeName, corpId);
            }

            foreach (string key in dict.Keys)
            {
                itemList.Add(new CListItem(key, dict[key]));
            }
            return(itemList);
        }
Exemple #2
0
        /// <summary>
        /// 根据字典类型名称获取所有该类型的字典列表集合(Key为名称,Value为值)
        /// </summary>
        /// <param name="dictTypeName">字典类型名称</param>
        /// <param name="corpId">公司ID</param>
        /// <returns></returns>
        public Dictionary <string, string> GetDictByDictType(string dictTypeName, string corpId)
        {
            ICorpDictData dal = baseDal as ICorpDictData;
            Dictionary <string, string> dict = dal.GetDictByDictType(dictTypeName, corpId);

            if (dict.Count == 0)
            {
                //写入公司字典表,避免下次再去获取
                List <DictDataInfo> list = BLLFactory <DictData> .Instance.FindByDictType(dictTypeName);

                foreach (DictDataInfo info in list)
                {
                    CorpDictDataInfo corpInfo = new CorpDictDataInfo(info, corpId);
                    baseDal.Insert(corpInfo);
                }

                //重新获取一次
                dict = dal.GetDictByDictType(dictTypeName, corpId);
            }


            return(dict);
        }
Exemple #3
0
        /// <summary>
        /// 根据字典类型名称获取所有该类型的字典列表集合
        /// </summary>
        /// <param name="dictTypeName">字典类型名称</param>
        /// <param name="corpId">公司ID</param>
        /// <returns></returns>
        public List <CorpDictDataInfo> FindByDictType(string dictTypeName, string corpId)
        {
            ICorpDictData           dal  = baseDal as ICorpDictData;
            List <CorpDictDataInfo> list = dal.FindByDictType(dictTypeName, corpId);

            //如果公司字典没有数据,则从系统字典获取
            if (list.Count == 0)
            {
                List <DictDataInfo> dict = BLLFactory <DictData> .Instance.FindByDictType(dictTypeName);

                foreach (DictDataInfo info in dict)
                {
                    list.Add(new CorpDictDataInfo(info, corpId));
                }

                //写入公司字典表,避免下次再去获取
                foreach (CorpDictDataInfo info in list)
                {
                    baseDal.Insert(info);
                }
            }
            return(list);
        }