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