Пример #1
0
        public MsgModel AddConfig(sys_config sys_Config)
        {
            sys_Config.id = new Snowflake().GetId();
            var result = _baseSysConfigService.AddRange(sys_Config);

            return(result ? MsgModel.Success("新增配置成功!") : MsgModel.Fail("新增配置失败!"));
        }
Пример #2
0
        /// <summary>
        /// 新增数据字典项
        /// </summary>
        /// <param name="sys_Dict"></param>
        public MsgModel Add(sys_dict sys_Dict)
        {
            sys_Dict.id = new Snowflake().GetId();
            var result = _baseSysDictService.AddRange(sys_Dict);

            return(result ? MsgModel.Success("新增数据字典项成功!") : MsgModel.Fail("新增数据字典项失败!"));
        }
Пример #3
0
        public MsgModel AddOrg(sys_org sys_org)
        {
            sys_org.id = new Snowflake().GetId();
            SetOrgIdsAndLevel(sys_org);
            sys_org.is_leaf = true;//新增的组织节点都是子节点,没有下级
            sys_org parent = _baseSysOrgService.GetModels(a => a.id == sys_org.org_pid).SingleOrDefault();

            parent.id      = sys_org.org_pid;
            parent.is_leaf = false; //更新父节点为非子节点。
            _baseSysOrgService.UpdateRange(parent);

            sys_org.status = false;//设置是否禁用,新增节点默认可用
            _baseSysOrgService.AddRange(sys_org);
            return(MsgModel.Success("新增组织机构成功!"));
        }
Пример #4
0
 /// <summary>
 /// 用户管理:新增
 /// </summary>
 /// <param name="sys_user"></param>
 public MsgModel AddUser(sys_user sys_user)
 {
     sys_user.id          = new Snowflake().GetId();
     sys_user.password    = PasswordEncoder.Encode(_sysConfigService.GetConfigItem("user.init.password"));
     sys_user.create_time = DateTime.Now; //创建时间
     sys_user.enabled     = true;         //新增用户激活
     if (_baseSysUserService.GetModels(a => a.username == sys_user.username).Any())
     {
         return(MsgModel.Fail(StatusCodes.Status500InternalServerError, "用户名已存在,不能重复"));
     }
     if (!_baseSysUserService.AddRange(sys_user))
     {
         return(MsgModel.Fail("新增用户失败!"));
     }
     return(MsgModel.Success("新增用户成功!"));
 }
Пример #5
0
        public MsgModel AddMenu(sys_menu sys_menu)
        {
            sys_menu.id = new Snowflake().GetId();
            SetMenuIdsAndLevel(sys_menu);
            sys_menu.is_leaf = true;//新增的菜单节点都是子节点,没有下级

            sys_menu parent = _baseSysMenuService.GetModels(a => a.id == sys_menu.menu_pid).SingleOrDefault();

            parent.id      = sys_menu.menu_pid;
            parent.is_leaf = false; //更新父节点为非子节点。
            _baseSysMenuService.UpdateRange(parent);

            sys_menu.status = false;//设置是否禁用,新增节点默认可用
            _baseSysMenuService.AddRange(sys_menu);
            return(MsgModel.Success("新增菜单项成功!"));
        }
Пример #6
0
        public MsgModel AddRole(sys_role sys_role)
        {
            CustomException customException = new CustomException();

            sys_role.id     = new Snowflake().GetId();
            sys_role.status = false;// 是否禁用:false
            if (_baseSysRoleService.GetModels(a => a.role_code == sys_role.role_code).Any())
            {
                customException.Code = (int)HttpStatusCode.Status500InternalServerError;

                return(MsgModel.Fail(StatusCodes.Status500InternalServerError, "角色编码已存在,不能重复!"));
            }
            if (!_baseSysRoleService.AddRange(sys_role))
            {
                return(MsgModel.Fail("新增角色失败!"));
            }
            return(MsgModel.Success("新增角色成功!"));
        }
Пример #7
0
        /// <summary>
        /// 注册
        /// </summary>
        /// <param name="user"></param>
        /// <returns></returns>
        public MsgModel SignUp(SysUser user)
        {
            var dict         = new Dictionary <string, object>();
            var stringRandom = StringHelper.GenerateRandom(10);

            user.username = stringRandom;
            //user.nickname = stringRandom;
            if (user.phone != null)
            {
                var queryUser = _baseService.GetModels(a => a.phone == user.phone).SingleOrDefault();
                if (queryUser == null)
                {
                    var sysUser = new sys_user();
                    sysUser = user.BuildAdapter().AdaptToType <sys_user>();
                    _baseService.AddRange(sysUser);

                    var customClaims = new List <Claim>
                    {
                        new Claim(ClaimAttributes.UserId, Convert.ToString(queryUser.id)),
                        new Claim(ClaimAttributes.UserName, queryUser.username)
                    };

                    var token = _jwtHelper.IssueJwt(customClaims);
                    dict.Add("token", token);
                    return(MsgModel.Success(dict));
                }
                else
                {
                    var userDto = new SysUser();
                    userDto = queryUser.BuildAdapter().AdaptToType <SysUser>();
                    // 用户存在直接登录
                    return(Login(userDto.username, userDto.password));
                }
            }
            else
            {
                return(MsgModel.Fail("参数格式错误!"));
            }
        }
Пример #8
0
        public MsgModel AddApi(sys_api sys_Api)
        {
            MsgModel msg = new MsgModel
            {
                isok    = true,
                message = "新增接口配置成功!"
            };

            sys_Api.id = new Snowflake().GetId();
            SetApiIdsAndLevel(sys_Api);
            sys_Api.is_leaf = true;//新增的菜单节点都是子节点,没有下级
            sys_api parent = new sys_api
            {
                id      = sys_Api.api_pid,
                is_leaf = false//更新父节点为非子节点。
            };

            _baseService.UpdateRange(parent);
            sys_Api.status = false;//设置是否禁用,新增节点默认可用
            _baseService.AddRange(sys_Api);
            return(msg);
        }
Пример #9
0
        public override void Process(UserViewModel viewModel)
        {
            var currentUserPermissions = permissionProvider
                                         .GetPermissions(UserId)
                                         .Select(x => x.Action)
                                         .ToList();
            var user  = userProvider.GetEntity(x => x.Id == viewModel.Id);
            var roles = roleProvider.GetAllAsList();

            using (var transaction = new TransactionScope(TransactionScopeOption.Required))
            {
                if (user.IsNullOrDefault())
                {
                    if (!currentUserPermissions.Contains(Permissions.GetActionKey(Module.Dashboard, Type.User, Action.Edit)))
                    {
                        return;
                    }

                    user = new User
                    {
                        Email          = viewModel.Email,
                        Password       = string.Empty,
                        Firstname      = viewModel.Firstname,
                        Lastname       = viewModel.Lastname,
                        ResetToken     = string.Empty,
                        ResetTokenDate = null,
                        Active         = viewModel.Active
                    };

                    userService.Add(user);
                }
                else
                {
                    user.Firstname = viewModel.Firstname;
                    user.Lastname  = viewModel.Lastname;

                    if (currentUserPermissions.Contains(Permissions.GetActionKey(Module.Dashboard, Type.User, Action.Edit)))
                    {
                        user.Email  = viewModel.Email;
                        user.Active = viewModel.Active;
                    }

                    userService.AddOrUpdate(user);
                    var currentUserRoles = userRoleProvider.Where(x => x.User_Id == user.Id);
                    userRoleService.DeleteRange(currentUserRoles);
                }

                var selectedRoles = viewModel.Roles.Where(x => x.Active);
                var userRoles     = roles.Where(x => selectedRoles.Any(y => y.Id == x.Id))
                                    .Select(role => new UserRole
                {
                    User_Id = user.Id,
                    User    = user,
                    Role_Id = role.Id,
                    Role    = role
                }).ToList();

                userRoleService.AddRange(userRoles);

                transaction.Complete();
            }
        }
Пример #10
0
        public void AddRange(IEnumerable <TModel> models)
        {
            var entities = GetEnumerableTEntity(models);

            _baseService.AddRange(entities);
        }
Пример #11
0
        public override void Process(RoleViewModel viewModel)
        {
            if (viewModel.Permissions.IsNullOrDefault() || viewModel.Permissions.Count == default(int))
            {
                viewModel.Permissions = new List <PermissionViewModel>();
            }

            var permissions = permissionProvider.GetAllAsList();
            var role        = roleProvider.GetEntity(r => r.Id == viewModel.Id);

            IEnumerable <PermissionViewModel> selectedViewModelPermissions;
            List <Permission> selectedPermissions;

            if (role.IsNullOrDefault())
            {
                role = new Role
                {
                    Name   = viewModel.Name,
                    Active = viewModel.Active
                };

                selectedViewModelPermissions = viewModel.Permissions.Where(x => x.Active);
                selectedPermissions          = permissions
                                               .Where(x => selectedViewModelPermissions.Any(y => y.Id == x.Id))
                                               .ToList();

                roleService.Add(role);

                if (!selectedPermissions.Any())
                {
                    return;
                }

                var rolePermissions = selectedPermissions.Select(x =>
                                                                 new RolePermission
                {
                    Role          = role,
                    Role_Id       = role.Id,
                    Permission_Id = x.Id,
                    Permission    = x
                }).ToList();

                rolePermissionService.AddRange(rolePermissions);

                return;
            }

            var currentPermissions = rolePermissionProvider.Where(x => x.Role_Id == role.Id);

            selectedViewModelPermissions = viewModel.Permissions.Where(x => x.Active);
            selectedPermissions          = permissions
                                           .Where(x => selectedViewModelPermissions.Any(y => y.Id == x.Id))
                                           .ToList();
            var deletedRoles = currentPermissions
                               .Where(x => !selectedPermissions.Any(y => y.Id == x.Permission_Id))
                               .ToList();
            var newRoles = selectedPermissions
                           .Where(x => !currentPermissions.Any(y => x.Id == y.Permission_Id))
                           .Select(x => new RolePermission
            {
                Role          = role,
                Role_Id       = role.Id,
                Permission    = x,
                Permission_Id = x.Id
            }).ToList();

            role.Name   = viewModel.Name;
            role.Active = viewModel.Active;

            roleService.AddOrUpdate(role);

            if (deletedRoles.Any())
            {
                rolePermissionService.DeleteRange(deletedRoles);
            }

            if (newRoles.Any())
            {
                rolePermissionService.AddRange(newRoles);
            }
        }