/// <summary> /// 增加产品类别 /// </summary> /// <param name="inputDtos"></param> /// <returns></returns> public async Task <OperationResult> Add(params ProductTypeInfoInputDto[] inputDtos) { inputDtos.CheckNotNull("inputDtos"); foreach (var dtoData in inputDtos) { if (string.IsNullOrEmpty(dtoData.ProductTypeCode)) { return(new OperationResult(OperationResultType.Error, "请正确填写产品类别编号!")); } if (string.IsNullOrEmpty(dtoData.ProductTypeName)) { return(new OperationResult(OperationResultType.Error, "请正确填写产品类别名称!")); } if (ProductTypeInfoRepository.CheckExists(x => x.ProductTypeCode == dtoData.ProductTypeCode)) { return(new OperationResult(OperationResultType.Error, "该产品类别编号已存在,无法保存!")); } if (ProductTypeInfoRepository.CheckExists(x => x.ProductTypeName == dtoData.ProductTypeName)) { return(new OperationResult(OperationResultType.Error, "该产品类别名称已存在,无法保存!")); } } ProductTypeInfoRepository.UnitOfWork.BeginTransaction(); var result = await ProductTypeInfoRepository.InsertAsync(inputDtos); ProductTypeInfoRepository.UnitOfWork.Commit(); return(result); }
/// <summary> /// 物理删除产品类别信息 /// </summary> /// <param name="ids"></param> /// <returns></returns> public async Task <OperationResult> Delete(params Guid[] ids) { ids.CheckNotNull("ids"); foreach (var id in ids) { int count = ProductInfoRepository.Entities.Where(m => m.ProductType.Id == id).Count(); if (count > 0) { return(new OperationResult(OperationResultType.Error, "产品类别数据关联产品信息,不能被删除。")); } } ProductTypeInfoRepository.UnitOfWork.BeginTransaction(); var result = await ProductTypeInfoRepository.DeleteAsync(ids); ProductTypeInfoRepository.UnitOfWork.Commit(); return(result); }
/// <summary> /// 检查实体是否存在 /// </summary> /// <param name="predicate"></param> /// <param name="id"></param> /// <returns></returns> public bool CheckExists(Expression <Func <ProductTypeInfo, bool> > predicate, Guid id) { return(ProductTypeInfoRepository.CheckExists(predicate, id)); }