/// <summary> /// 增加数据用户映射信息 /// </summary> /// <param name="dto">数据用户映射信息DTO</param> /// <returns>业务操作结果</returns> public virtual async Task <OperationResult> CreateEntityUserMapAsync(TEntityUserMapInputDto dto) { dto.CheckNotNull("dto"); if (await EntityUserMapRepository.CheckExistsAsync(m => m.EntityInfo.Id.Equals(dto.EntityInfoId) && m.User.Id.Equals(dto.UserId))) { return(OperationResult.Success); } TEntityInfo entityInfo = await EntityInfoRepository.GetByKeyAsync(dto.EntityInfoId); if (entityInfo == null) { return(new OperationResult(OperationResultType.QueryNull, "指定编号的数据实体信息不存在")); } TUser user = await UserRepository.GetByKeyAsync(dto.UserId); if (user == null) { return(new OperationResult(OperationResultType.QueryNull, "指定编号的角色信息不存在")); } TEntityUserMap map = dto.MapTo <TEntityUserMap>(); map.EntityInfo = entityInfo; map.User = user; if (dto.FilterGroup != null) { map.FilterGroupJson = dto.FilterGroup.ToJsonString(); } await EntityUserMapRepository.InsertAsync(map); return(new OperationResult(OperationResultType.Success, "数据角色映射信息添加成功")); }
/// <summary> /// 删除数据用户映射信息 /// </summary> /// <param name="id">数据用户映射编号</param> /// <returns>业务操作结果</returns> public virtual async Task <OperationResult> DeleteEntityUserMapAsync(TEntityUserMapKey id) { TEntityUserMap map = await EntityUserMapRepository.GetByKeyAsync(id); if (map == null) { return(OperationResult.NoChanged); } await EntityUserMapRepository.DeleteAsync(map); return(new OperationResult(OperationResultType.Success, "数据角色映射信息删除成功")); }
/// <summary> /// 编辑数据用户映射信息 /// </summary> /// <param name="dto">数据用户映射信息DTO</param> /// <returns>业务操作结果</returns> public virtual async Task <OperationResult> UpdateEntityUserMapAsync(TEntityUserMapInputDto dto) { dto.CheckNotNull("dto"); TEntityUserMap map = await EntityUserMapRepository.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.User.Id.Equals(dto.UserId)) { TUser user = await UserRepository.GetByKeyAsync(dto.UserId); if (user == null) { return(new OperationResult(OperationResultType.QueryNull, "指定编号的角色信息不存在")); } map.User = user; } if (map.FilterGroupJson != dto.FilterGroup.ToJsonString()) { map.FilterGroupJson = dto.FilterGroup.ToJsonString(); } await EntityUserMapRepository.UpdateAsync(map); return(new OperationResult(OperationResultType.Success, "数据角色映射信息编辑成功")); }
/// <summary> /// 编辑数据用户映射信息 /// </summary> /// <param name="dto">数据用户映射信息DTO</param> /// <returns>业务操作结果</returns> public virtual async Task <OperationResult> UpdateEntityUserMapAsync(TEntityUserMapInputDto dto) { dto.CheckNotNull("dto"); TEntityUserMap map = await EntityUserMapRepository.GetByKeyAsync(dto.Id); if (map == null) { return(new OperationResult(OperationResultType.QueryNull, "指定编号的数据角色映射信息不存在")); } map = dto.MapTo(map); if (map.EntityInfo == null || !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.User == null || !map.User.Id.Equals(dto.UserId)) { TUser user = await UserRepository.GetByKeyAsync(dto.UserId); if (user == null) { return(new OperationResult(OperationResultType.QueryNull, "指定编号的角色信息不存在")); } map.User = user; } if (map.FilterGroupJson != dto.FilterGroup.ToJsonString()) { map.FilterGroupJson = dto.FilterGroup.ToJsonString(); } return(await EntityUserMapRepository.UpdateAsync(map) > 0 ? new OperationResult(OperationResultType.Success, "用户“{0}”与实体“{1}”的映射信息更新成功".FormatWith(map.User.UserName, map.EntityInfo.Name)) : OperationResult.NoChanged); }