Beispiel #1
0
        /// <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, "功能用户映射信息编辑成功"));
        }
Beispiel #2
0
        /// <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, "功能用户映射信息添加成功"));
        }
Beispiel #3
0
        /// <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, "功能用户映射信息删除成功"));
        }
Beispiel #4
0
 /// <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));
 }