/// <summary> /// 更新报废单 /// </summary> /// <param name="entity"></param> /// <returns></returns> public ReturnInfo UpdateAssScrapOrder(SOInputDto entity) { ReturnInfo RInfo = new ReturnInfo(); try { if (String.IsNullOrEmpty(entity.SOID)) { throw new Exception("报废单编号不能为空"); } AssScrapOrder aro = _AssScrapOrderRepository.GetByID(entity.SOID).FirstOrDefault(); if (aro != null) { if (aro.STATUS == 1) { throw new Exception("只有已报废的的才能还原"); } else { List <AssScrapOrderRow> Rows = _AssScrapOrderRowRepository.GetScrapBySOID(aro.SOID).AsNoTracking().ToList(); if (Rows.Count == entity.Rows.Count) { aro.STATUS = 1; } //更新报修单行项 aro.MODIFYDATE = entity.MODIFYDATE; aro.MODIFYUSER = entity.MODIFYUSER; _unitOfWork.RegisterDirty(aro); UpdateAssScrapOrderRow(entity); bool result = _unitOfWork.Commit(); RInfo.IsSuccess = result; RInfo.ErrorInfo = "修改成功!"; return(RInfo); } } else { throw new Exception("报修单不存在!"); } } catch (Exception ex) { _unitOfWork.Rollback(); RInfo.IsSuccess = false; RInfo.ErrorInfo = ex.Message; return(RInfo); } }
/// <summary> /// 新增报废单 /// </summary> /// <param name="entity"></param> /// <returns></returns> public ReturnInfo AddAssScrapOrder(SOInputDto entity) { ReturnInfo RInfo = new ReturnInfo(); if (String.IsNullOrEmpty(entity.SCRAPMAN)) { throw new Exception("报废人不能为空"); } if (String.IsNullOrEmpty(entity.SCRAPDATE.ToString())) { throw new Exception("报废日期不能为空"); } String MaxID = _AssScrapOrderRepository.GetMaxID(); //获取当前最大报修单编号 String NowID = Helper.GeneratePRID("S", MaxID); //生成最新的报修单编号 entity.SOID = NowID; try { AssScrapOrder OrderData = new AssScrapOrder(); OrderData.SOID = NowID; OrderData.SCRAPMAN = entity.SCRAPMAN; OrderData.SCRAPDATE = entity.SCRAPDATE; OrderData.NOTE = entity.NOTE; OrderData.STATUS = entity.STATUS; OrderData.CREATEDATE = entity.CREATEDATE; OrderData.CREATEUSER = entity.CREATEUSER; _unitOfWork.RegisterNew(OrderData); AddAssScrapOrderRow(entity); bool result = _unitOfWork.Commit(); RInfo.IsSuccess = result; RInfo.ErrorInfo = "创建成功!"; return(RInfo); } catch (Exception ex) { _unitOfWork.Rollback(); RInfo.IsSuccess = false; RInfo.ErrorInfo = ex.Message; return(RInfo); } }