/// <summary> /// 编辑功能用户映射信息 /// </summary> /// <param name="dto">功能用户映射信息DTO</param> /// <returns>业务操作结果</returns> public virtual async Task <OperationResult> UpdateFunctionUserMapAsync(TFunctionUserMapInputDto dto) { dto.CheckNotNull("dto"); TFunctionUserMap map = await FunctionUserMapRepository.GetByKeyAsync(dto.Id); if (map == null) { return(new OperationResult(OperationResultType.QueryNull, "编号为“{0}”的功能用户映射信息不存在".FormatWith(dto.Id))); } map = dto.MapTo(map); if (!map.Function.Id.Equals(dto.FunctionId)) { TFunction function = await FunctionRepository.GetByKeyAsync(dto.FunctionId); if (function == null) { return(new OperationResult(OperationResultType.QueryNull, "编号为“{0}”指定编号的功能信息不存在".FormatWith(dto.FunctionId))); } map.Function = function; } if (!map.User.Id.Equals(dto.UserId)) { TUser user = await UserRepository.GetByKeyAsync(dto.UserId); if (user == null) { return(new OperationResult(OperationResultType.QueryNull, "编号为“{0}”指定编号的用户信息不存在".FormatWith(dto.UserId))); } map.User = user; } await FunctionUserMapRepository.UpdateAsync(map); return(new OperationResult(OperationResultType.Success, "功能用户映射信息编辑成功")); }
/// <summary> /// 增加功能用户映射信息 /// </summary> /// <param name="dto">功能用户映射信息DTO</param> /// <returns>业务操作结果</returns> public virtual async Task <OperationResult> CreateFunctionUserMapAsync(TFunctionUserMapInputDto dto) { dto.CheckNotNull("dto"); if (await FunctionUserMapRepository.CheckExistsAsync(m => m.Function.Id.Equals(dto.FunctionId) && m.User.Id.Equals(dto.UserId))) { return(OperationResult.Success); } TFunction function = await FunctionRepository.GetByKeyAsync(dto.FunctionId); if (function == null) { return(new OperationResult(OperationResultType.QueryNull, "编号为“{0}”的功能信息不存在".FormatWith(dto.FunctionId))); } TUser user = await UserRepository.GetByKeyAsync(dto.UserId); if (user == null) { return(new OperationResult(OperationResultType.QueryNull, "编号为“{0}”的用户信息不存在".FormatWith(dto.UserId))); } TFunctionUserMap map = dto.MapTo <TFunctionUserMap>(); map.Function = function; map.User = user; await FunctionUserMapRepository.InsertAsync(map); return(new OperationResult(OperationResultType.Success, "功能用户映射信息添加成功")); }
/// <summary> /// 删除功能用户映射信息 /// </summary> /// <param name="id">功能用户映射编号</param> /// <returns>业务操作结果</returns> public virtual async Task <OperationResult> DeleteFunctionUserMapAsync(TFunctionUserMapKey id) { TFunctionUserMap map = await FunctionUserMapRepository.GetByKeyAsync(id); if (map == null) { return(OperationResult.NoChanged); } await FunctionUserMapRepository.DeleteAsync(map); return(new OperationResult(OperationResultType.Success, "功能用户映射信息删除成功")); }
/// <summary> /// 检查用户功能映射信息信息是否存在 /// </summary> /// <param name="predicate">检查谓语表达式</param> /// <param name="id">更新的用户功能映射信息编号</param> /// <returns>用户功能映射信息是否存在</returns> public Task <bool> CheckFunctionUserMapExists(Expression <Func <FunctionUserMap, bool> > predicate, int id = 0) { return(FunctionUserMapRepository.CheckExistsAsync(predicate, id)); }