Example #1
0
        public IActionResult Post([FromBody] SysRoleCreateOrUpdateViewModel viewModel)
        {
            var response = ResponseModelFactory.CreateInstance;

            if (!ModelState.IsValid)
            {
                response.SetFailed("验证失败");
                return(Ok(response));
            }
            if (!AuthContextService.IsAdministrator)
            {
                response.SetFailed("没有权限");
                return(Ok(response));
            }
            if (_sysRoleRepo.FindList(x => x.Name == viewModel.Name).Any())
            {
                response.SetFailed("角色名已存在");
                return(Ok(response));
            }
            var role = _mapper.Map <Sys_Role>(viewModel);

            role.IsSuperAdministrator = false;
            role.IsBuiltin            = false;
            role.Create();

            _sysRoleRepo.Insert(role);

            if (!_unitOfWork.Save())
            {
                response.SetFailed();
            }
            response.SetData(role.Id);
            return(Ok(response));
        }
Example #2
0
        public IActionResult Update(Guid id, [FromBody] SysRoleCreateOrUpdateViewModel viewModel)
        {
            var response = ResponseModelFactory.CreateInstance;

            if (!ModelState.IsValid)
            {
                response.SetFailed("验证失败");
                return(Ok(response));
            }

            var role = _sysRoleRepo.FindEntity(id);

            if (role == null)
            {
                response.SetFailed("角色不存在");
                return(Ok(response));
            }
            if (role.IsSuperAdministrator.Value && !AuthContextService.IsAdministrator)
            {
                response.SetFailed("权限不足");
                return(Ok(response));
            }
            _mapper.Map(viewModel, role);
            role.Update();

            _sysRoleRepo.Update(role);


            if (!_unitOfWork.Save())
            {
                response.SetFailed("更新失败");
                return(Ok(response));
            }
            response.SetData(id);
            return(Ok(response));
        }