Beispiel #1
0
        public async Task <Result> Modify([FromBody] RoleModifyRequestDto dto)
        {
            var  server    = _serviceProvider.GetRequiredService <RoleService>();
            long?tenancyId = HttpContext.User.IsSuperRole() ? null : Convert.ToInt64(HttpContext.User.TenancyId());
            var  result    = await server.Get(dto.Id, tenancyId);

            if (!result.Success)
            {
                return(Result.ReFailure(result.Message, result.Status));
            }
            // 除总超级管理员之外其他不允许操作其他租户信息
            if (tenancyId != null && result.Data.TenancyId != tenancyId)
            {
                return(Result.ReFailure(ResultCodes.TenancyMatchExist));
            }
            result.Data.CreateId = Convert.ToInt64(HttpContext.User.UserId());
            if (dto.PermissionId != null && dto.PermissionId.Count > 0)
            {
                result.Data.PermissionRole.Clear();
                foreach (long value in dto.PermissionId.ToList())
                {
                    if (result.Data.PermissionRole.Count(f => f.PermissionId == value) == 0)
                    {
                        result.Data.PermissionRole.Add(new PermissionRole()
                        {
                            PermissionId = value,
                            RoleId       = dto.Id
                        });
                    }
                }
            }
            return(await server.Modify(_mapper.Map(dto, result.Data)));
        }
Beispiel #2
0
        public async Task <Result> Modify([FromBody] RoleModifyRequestDto dto)
        {
            //验证请求数据合法性
            var result = dto.Valid();

            if (!result.Success)
            {
                return(result);
            }

            //调用领域服务修改
            var modifyResult = this._serviceProvider.GetRequiredService <RoleInfoChangeService>()
                               .Modify(dto.RoleId, dto.Name, dto.Enable, dto.Description, dto.Permissions);

            if (!modifyResult.Success)
            {
                return(modifyResult);
            }

            //数据持久化
            _operateLog.Record(ASFPermissions.RoleModify, dto, "Success");  //记录日志
            await _roleRepository.ModifyAsync(modifyResult.Data);

            await _unitOfWork.CommitAsync(autoRollback : true);

            return(Result.ReSuccess());
        }
        public virtual async Task <Result> Modify([FromBody] RoleModifyRequestDto dto)
        {
            //验证请求数据合法性
            var result = dto.Valid();

            if (!result.Success)
            {
                return(result);
            }

            //调用领域服务修改
            var modifyResult = IocManager.Instance.Resolve <RoleInfoChangeService>()
                               .Modify(dto.RoleId, dto.Name, dto.Enable, dto.Description, dto.Permissions);

            if (!modifyResult.Success)
            {
                return(modifyResult);
            }

            //数据持久化
            _operateLog.Record(ASFPermissions.RoleModify, dto, "Success");  //记录日志
            await _roleRepository.ModifyAsync(modifyResult.Data);

            return(Result.ReSuccess());
        }