コード例 #1
0
        /// <summary>
        /// 增加数据角色映射信息
        /// </summary>
        /// <param name="dto">数据角色映射信息DTO</param>
        /// <returns>业务操作结果</returns>
        public virtual async Task <OperationResult> AddEntityRoleMapAsync(TEntityRoleMapDto dto)
        {
            dto.CheckNotNull("dto");
            if (await EntityRoleMapRepository.CheckExistsAsync(m => m.EntityInfo.Id.Equals(dto.EntityInfoId) && m.Role.Id.Equals(dto.RoleId)))
            {
                return(new OperationResult(OperationResultType.Error, "指定数据与角色的数据角色映射信息已存在"));
            }
            TEntityInfo entityInfo = await EntityInfoRepository.GetByKeyAsync(dto.EntityInfoId);

            if (entityInfo == null)
            {
                return(new OperationResult(OperationResultType.QueryNull, "指定编号的数据实体信息不存在"));
            }
            TRole role = await RoleRepository.GetByKeyAsync(dto.RoleId);

            if (role == null)
            {
                return(new OperationResult(OperationResultType.QueryNull, "指定编号的角色信息不存在"));
            }
            TEntityRoleMap map = dto.MapTo <TEntityRoleMap>();

            map.EntityInfo = entityInfo;
            map.Role       = role;
            if (dto.FilterGroup != null)
            {
                map.FilterGroupJson = dto.FilterGroup.ToJsonString();
            }
            return(await EntityRoleMapRepository.InsertAsync(map) > 0
                ? new OperationResult(OperationResultType.Success, "数据角色映射信息添加成功")
                : OperationResult.NoChanged);
        }
コード例 #2
0
        /// <summary>
        /// 增加数据角色映射信息
        /// </summary>
        /// <param name="dto">数据角色映射信息DTO</param>
        /// <returns>业务操作结果</returns>
        public virtual async Task <OperationResult> CreateEntityRoleMapAsync(TEntityRoleMapInputDto dto)
        {
            dto.CheckNotNull("dto");
            if (await EntityRoleMapRepository.CheckExistsAsync(m => m.EntityInfo.Id.Equals(dto.EntityInfoId) && m.Role.Id.Equals(dto.RoleId)))
            {
                return(OperationResult.Success);
            }
            TEntityInfo entityInfo = await EntityInfoRepository.GetByKeyAsync(dto.EntityInfoId);

            if (entityInfo == null)
            {
                return(new OperationResult(OperationResultType.QueryNull, "指定编号的数据实体信息不存在"));
            }
            TRole role = await RoleRepository.GetByKeyAsync(dto.RoleId);

            if (role == null)
            {
                return(new OperationResult(OperationResultType.QueryNull, "指定编号的角色信息不存在"));
            }
            TEntityRoleMap map = dto.MapTo <TEntityRoleMap>();

            map.EntityInfo = entityInfo;
            map.Role       = role;
            if (dto.FilterGroup != null)
            {
                map.FilterGroupJson = dto.FilterGroup.ToJsonString();
            }
            return(await EntityRoleMapRepository.InsertAsync(map) > 0
                ? new OperationResult(OperationResultType.Success, "角色“{0}”与数据“{1}”映射信息创建成功".FormatWith(role.Name, entityInfo.Name))
                : OperationResult.NoChanged);
        }
コード例 #3
0
        /// <summary>
        /// 删除数据角色映射信息
        /// </summary>
        /// <param name="id">数据角色映射编号</param>
        /// <returns>业务操作结果</returns>
        public virtual async Task <OperationResult> DeleteEntityRoleMapAsync(TEntityRoleMapKey id)
        {
            TEntityRoleMap map = await EntityRoleMapRepository.GetByKeyAsync(id);

            if (map == null)
            {
                return(OperationResult.NoChanged);
            }
            return(await EntityRoleMapRepository.DeleteAsync(map) > 0
                ? new OperationResult(OperationResultType.Success, "数据角色映射信息删除成功")
                : OperationResult.NoChanged);
        }
コード例 #4
0
        /// <summary>
        /// 编辑数据角色映射信息
        /// </summary>
        /// <param name="dto">数据角色映射信息DTO</param>
        /// <returns>业务操作结果</returns>
        public virtual async Task <OperationResult> EditEntityRoleMapAsync(TEntityRoleMapDto dto)
        {
            dto.CheckNotNull("dto");
            TEntityRoleMap map = await EntityRoleMapRepository.GetByKeyAsync(dto.Id);

            if (map == null)
            {
                return(new OperationResult(OperationResultType.QueryNull, "指定编号的数据角色映射信息不存在"));
            }
            map = dto.MapTo(map);
            if (!map.EntityInfo.Id.Equals(dto.EntityInfoId))
            {
                TEntityInfo entityInfo = await EntityInfoRepository.GetByKeyAsync(dto.EntityInfoId);

                if (entityInfo == null)
                {
                    return(new OperationResult(OperationResultType.QueryNull, "指定编号的数据实体信息不存在"));
                }
                map.EntityInfo = entityInfo;
            }
            if (!map.Role.Id.Equals(dto.RoleId))
            {
                TRole role = await RoleRepository.GetByKeyAsync(dto.RoleId);

                if (role == null)
                {
                    return(new OperationResult(OperationResultType.QueryNull, "指定编号的角色信息不存在"));
                }
                map.Role = role;
            }
            if (map.FilterGroupJson != dto.FilterGroup.ToJsonString())
            {
                map.FilterGroupJson = dto.FilterGroup.ToJsonString();
            }
            return(await EntityRoleMapRepository.UpdateAsync(map) > 0
                ? new OperationResult(OperationResultType.Success, "数据角色映射信息编辑成功")
                : OperationResult.NoChanged);
        }