コード例 #1
0
        /// <summary>
        /// 保存角色信息
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public ReturnMsg SaveSysRoleInfo(SysRoleMstrDto dto)
        {
            var rm     = new ReturnMsg();
            var entity = new SysRoleMstr();

            if (string.IsNullOrEmpty(dto.ROLE_NAME))
            {
                rm.IsSuccess = false;
                rm.msg       = "请输入角色名称";
                return(rm);
            }
            if (string.IsNullOrEmpty(dto.ROLE_SCOPE))
            {
                rm.IsSuccess = false;
                rm.msg       = "请选择角色范围";
                return(rm);
            }
            if (dto.Id == 0)
            {
                _initHelper.InitAdd(dto, AbpSession.USR_ID, AbpSession.ORG_NO, AbpSession.BG_NO);
                entity = dto.ToEntity();
                _sysRoleMstrRepository.InsertAndGetId(entity);
            }
            else
            {
                _initHelper.InitUpdate(dto, AbpSession.USR_ID);
                entity = dto.ToEntity();
                _sysRoleMstrRepository.Update(entity);
            }
            if (!string.IsNullOrEmpty(dto.menuIds))
            {
                if (dto.Id != 0)
                {
                    _sysRoleMenuPermissionRepository.DelSysRoleMenuInfo(dto.Id.ToString());
                }
                var list     = dto.menuIds.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToList();
                var menuList = _sysNavTreeRepository.GetAllList(c => c.DEL_FLAG == 1).Where(c => list.Contains(c.NAV_PARENT_NO) || list.Contains(c.Id)).ToList();

                foreach (var item in menuList)
                {
                    var model = new SysRoleMenuPermission
                    {
                        ROLE_ID    = (int)entity.Id,
                        PERMISSION = item.Id,
                        DEL_FLAG   = 1
                    };
                    _sysRoleMenuPermissionRepository.Insert(model);
                }
            }
            rm.IsSuccess = true;

            return(rm);
        }