Example #1
0
        /// <summary>
        /// 更新制造清单信息
        /// </summary>
        /// <param name="inputDtos"></param>
        /// <returns></returns>
        public async Task <OperationResult> Update(params ProManufacturingBillInfoInputDto[] inputDtos)
        {
            inputDtos.CheckNotNull("inputDtos");
            foreach (var dtoData in inputDtos)
            {
                if (string.IsNullOrEmpty(dtoData.BillCode))
                {
                    return(new OperationResult(OperationResultType.Error, "请正确填写清单编号!"));
                }
                if (string.IsNullOrEmpty(dtoData.BillName))
                {
                    return(new OperationResult(OperationResultType.Error, "请正确填写清单名称!"));
                }
                if (ProManufacturingBillInfoRepository.CheckExists(x => x.BillCode == dtoData.BillCode && x.Id != dtoData.Id))
                {
                    return(new OperationResult(OperationResultType.Error, "该清单编号已存在,无法保存!"));
                }
                if (ProManufacturingBillInfoRepository.CheckExists(x => x.BillName == dtoData.BillName && x.Id != dtoData.Id))
                {
                    return(new OperationResult(OperationResultType.Error, "该清单名称已存在,无法保存!"));
                }
                dtoData.Product = ProductInfoRepository.TrackEntities.Where(m => m.Id == dtoData.Product_Id).FirstOrDefault();
                if (Equals(dtoData.Product, null))
                {
                    return(new OperationResult(OperationResultType.Error, "对应的产品不存在,无法保存!"));
                }
                dtoData.ProductionRule = ProductionRuleInfoRepository.TrackEntities.Where(m => m.Id == dtoData.ProductionRule_Id).FirstOrDefault();
                if (Equals(dtoData.ProductionRule, null))
                {
                    return(new OperationResult(OperationResultType.Error, "对应的配方不存在,无法保存!"));
                }
                if (Equals(dtoData.BillType, null) || dtoData.BillType == 0)
                {
                    return(new OperationResult(OperationResultType.Error, "请选择制造清单类型!"));
                }
            }
            ProManufacturingBillInfoRepository.UnitOfWork.BeginTransaction();
            var result = await ProManufacturingBillInfoRepository.UpdateAsync(inputDtos);

            ProManufacturingBillInfoRepository.UnitOfWork.Commit();
            return(result);
        }