Esempio n. 1
0
        /// <summary>
        ///     批量生成代码
        /// </summary>
        /// <returns></returns>
        public async Task <OperateStatus> GeneratingCode()
        {
            OperateStatus operateStatus = new OperateStatus();

            try
            {
                //获取所有字典树
                var dics = (await GetAllEnumerableAsync()).ToList();

                var topDics = dics.Where(w => w.ParentId == Guid.Empty);
                foreach (var dic in topDics)
                {
                    dic.Code = PinYinUtil.GetFirst(dic.Name);
                    await UpdateAsync(dic);
                    await GeneratingCodeRecursion(dic, dics.ToList(), "");
                }
            }
            catch (Exception ex)
            {
                operateStatus.Message = string.Format(Chs.Error, ex.Message);
                return(operateStatus);
            }
            operateStatus.Message    = Chs.Successful;
            operateStatus.ResultSign = ResultSign.Successful;
            return(operateStatus);
        }
Esempio n. 2
0
        /// <summary>
        /// 递归获取代码
        /// </summary>
        /// <param name="dictionary"></param>
        /// <param name="dictionaries"></param>
        /// <param name="generationCode"></param>
        private async Task GeneratingCodeRecursion(SystemDictionary dictionary, IList <SystemDictionary> dictionaries, string generationCode)
        {
            string emp = PinYinUtil.GetFirst(dictionary.Name);
            //获取下级
            var nextDic = dictionaries.Where(w => w.ParentId == dictionary.DictionaryId).ToList();

            if (nextDic.Any())
            {
                emp = generationCode.IsNullOrEmpty() ? emp : generationCode + "_" + emp;
            }
            foreach (var dic in nextDic)
            {
                dic.Code = emp + "_" + PinYinUtil.GetFirst(dic.Name);
                await UpdateAsync(dic);
                await GeneratingCodeRecursion(dic, dictionaries, emp);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 递归获取代码
        /// </summary>
        /// <param name="organization"></param>
        /// <param name="dictionaries"></param>
        /// <param name="generationCode"></param>
        private async Task GeneratingCodeRecursion(SystemOrganization organization, IList <SystemOrganization> dictionaries, string generationCode)
        {
            string emp = PinYinUtil.GetFirst(organization.Name);
            //获取下级
            var nextOrg = dictionaries.Where(w => w.ParentId == organization.OrganizationId).ToList();

            if (nextOrg.Any())
            {
                emp = generationCode.IsNullOrEmpty() ? emp : generationCode + "_" + emp;
            }
            foreach (var org in nextOrg)
            {
                org.Code = emp + "_" + PinYinUtil.GetFirst(org.Name);
                await UpdateAsync(org);
                await GeneratingCodeRecursion(org, dictionaries, emp);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// 递归获取代码
        /// </summary>
        /// <param name="menu"></param>
        /// <param name="menus"></param>
        /// <param name="generationCode"></param>
        private async Task GeneratingCodeRecursion(SystemMenu menu, IList <SystemMenu> menus, string generationCode)
        {
            string emp = PinYinUtil.GetFirst(menu.Name);
            //获取下级
            var nextMenu = menus.Where(w => w.ParentId == menu.MenuId).ToList();

            if (nextMenu.Any())
            {
                emp = generationCode.IsNullOrEmpty() ? emp : generationCode + "_" + emp;
            }
            foreach (var me in nextMenu)
            {
                me.Code = emp + "_" + PinYinUtil.GetFirst(me.Name);
                await UpdateAsync(me);
                await GeneratingCodeRecursion(me, menus, emp);
            }
        }