/// <summary> /// 增加工序信息 /// </summary> /// <param name="inputDtos"></param> /// <returns></returns> public async Task <OperationResult> Add(params ProductionProcessInfoInputDto[] inputDtos) { inputDtos.CheckNotNull("inputDtos"); foreach (var dtoData in inputDtos) { if (string.IsNullOrEmpty(dtoData.ProductionProcessCode)) { return(new OperationResult(OperationResultType.Error, "请正确填写工序编号!")); } if (string.IsNullOrEmpty(dtoData.ProductionProcessName)) { return(new OperationResult(OperationResultType.Error, "请正确填写工序名称!")); } if (ProductionProcessInfoRepository.CheckExists(x => x.ProductionProcessCode == dtoData.ProductionProcessCode)) { return(new OperationResult(OperationResultType.Error, "该工序编号已存在,无法保存!")); } if (ProductionProcessInfoRepository.CheckExists(x => x.ProductionProcessName == dtoData.ProductionProcessName)) { return(new OperationResult(OperationResultType.Error, "该工序名称已存在,无法保存!")); } dtoData.EntProductionLine = EntProductionLineInfoRepository.TrackEntities.Where(m => m.Id == dtoData.EntProductionLine_Id).FirstOrDefault(); if (Equals(dtoData.EntProductionLine, null)) { return(new OperationResult(OperationResultType.Error, "对应的生产线不存在,无法保存!")); } } ProductionProcessInfoRepository.UnitOfWork.BeginTransaction(); var result = await ProductionProcessInfoRepository.InsertAsync(inputDtos); ProductionProcessInfoRepository.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 count1 = ProductionRuleItemInfoRepository.Entities.Where(m => m.ProductionProcess.Id == id).Count(); if (count1 > 0) { return(new OperationResult(OperationResultType.Error, "工序数据关联配方明细信息,不能被删除。")); } int count2 = ProManufacturingBOMBillItemInfoRepository.Entities.Where(m => m.ProductionProcess.Id == id).Count(); if (count2 > 0) { return(new OperationResult(OperationResultType.Error, "工序数据关联BOM明细信息,不能被删除。")); } int count3 = ProManufacturingBORBillItemInfoRepository.Entities.Where(m => m.ProductionProcess.Id == id).Count(); if (count3 > 0) { return(new OperationResult(OperationResultType.Error, "工序数据关联BOR明细信息,不能被删除。")); } } ProductionProcessInfoRepository.UnitOfWork.BeginTransaction(); var result = await ProductionProcessInfoRepository.DeleteAsync(ids); ProductionProcessInfoRepository.UnitOfWork.Commit(); return(result); }
/// <summary> /// 检查实体是否存在 /// </summary> /// <param name="predicate"></param> /// <param name="id"></param> /// <returns></returns> public bool CheckExists(Expression <Func <ProductionProcessInfo, bool> > predicate, Guid id) { return(ProductionProcessInfoRepository.CheckExists(predicate, id)); }