예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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);
        }
예제 #3
0
 /// <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));
 }