/// <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); }
/// <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); }
/// <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); }
/// <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); }