/// <summary>
        /// 添加模块信息信息
        /// </summary>
        /// <param name="dto">要添加的模块信息DTO信息</param>
        /// <returns>业务操作结果</returns>
        public virtual async Task <OperationResult> CreateModule(TModuleInputDto dto)
        {
            dto.CheckNotNull("dto");
            if (await ModuleRepository.CheckExistsAsync(m => m.Name == dto.Name))
            {
                return(new OperationResult(OperationResultType.Error, "名称为“{0}”的模块已存在,不能重复添加".FormatWith(dto.Name)));
            }
            TModule module = dto.MapTo <TModule>();

            if (dto.ParentId.HasValue)
            {
                TModule parent = await ModuleRepository.GetByKeyAsync(dto.ParentId.Value);

                if (parent == null)
                {
                    return(new OperationResult(OperationResultType.Error, "编号为“{0}”的父模块信息不存在".FormatWith(dto.ParentId.Value)));
                }
                module.Parent = parent;
            }
            else
            {
                module.Parent = default(TModule);
            }
            module.TreePathString = module.GetTreePath();
            await ModuleRepository.InsertAsync(module);

            return(OperationResult.Success);
        }
 /// <summary>
 /// 检查模块信息信息是否存在
 /// </summary>
 /// <param name="predicate">检查谓语表达式</param>
 /// <param name="id">更新的模块信息编号</param>
 /// <returns>模块信息是否存在</returns>
 public virtual Task <bool> CheckModuleExists(Expression <Func <TModule, bool> > predicate, TModuleKey id = default(TModuleKey))
 {
     return(ModuleRepository.CheckExistsAsync(predicate, id));
 }
Exemple #3
0
 /// <summary>
 /// 检查代码模块信息信息是否存在
 /// </summary>
 /// <param name="predicate">检查谓语表达式</param>
 /// <param name="id">更新的代码模块信息编号</param>
 /// <returns>代码模块信息是否存在</returns>
 public Task <bool> CheckCodeModuleExists(Expression <Func <CodeModule, bool> > predicate, Guid id = default)
 {
     return(ModuleRepository.CheckExistsAsync(predicate, id));
 }