删除树形菜单下所有子节点

        #region 删除
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="inputViewModel">删除参数</param>
        /// <returns></returns>
        public ReturnedDataResult Delete(InputViewModel<int> inputViewModel)
        {
            if (inputViewModel == null)
            {
                return new ReturnedDataResult()
                {
                    Status = ReturnedStatus.Error,
                    Message = ResourceHelper.GetResourceValue("Common", "Common", "zh_cn", "DeleteFailByInputViewIsNull", "删除失败,失败原因:删除条件为空!")
                };
            }
            var moduleList = _sysModuleRepository.GetList();

            var idList = GetMenuIdList(inputViewModel.InputView, moduleList);
            idList.Add(inputViewModel.InputView);

            _sysModuleRepository.Delete(idList);
            return new ReturnedDataResult()
            {
                Data = new List<int> { inputViewModel.InputView },
                Status = ReturnedStatus.Success,
                Message = ResourceHelper.GetResourceValue("Common", "Common", inputViewModel.Language, "DeleteSuccess", "删除成功!")
            };
        }
        #endregion
        #region 获取删除菜单的ID集合
        /// <summary>
        /// 获取删除菜单的ID集合
        /// </summary>
        /// <param name="parentId"></param>
        /// <param name="modules"></param>
        /// <returns></returns>
        private static List<int> GetMenuIdList(int parentId, List<Sys_Module> modules)
        {
            List<int> idlist = new List<int>();
            var ids = modules.Where(s => s.ParentId == parentId).Select(s => s.Id).ToList();
            foreach (var id in ids)
            {
                idlist.Add(id);
                List<int> childList = GetMenuIdList(id, modules);
                idlist.AddRange(childList);
            }
            return idlist;
        }
        #endregion

 

转载于:https://www.cnblogs.com/GreatPerson/p/8474264.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值