/// <summary> /// 审核 /// </summary> /// <param name="otherIn"></param> /// <returns></returns> public ResultData <string> ApproveOtherIn(WOtherIn otherIn) { if (otherIn.Lines.Count < 1) { otherIn.Lines = oilRepository.GetLinesByParentId(otherIn.ID); } ResultData <string> rData = new ResultData <string>(); DatabaseContext dbContext = oiRepository.DbCondext; try { dbContext.BeginTransaction(); //入库记录 List <WStockIn> stockIns = new List <WStockIn>(otherIn.Lines.Count); //添加其他入库 int result = oiRepository.ApproveOtherIn(otherIn); if (result < 1) { rData.status = -1; rData.message = "单据已经审核或删除."; dbContext.AbortTransaction(); return(rData); } foreach (var line in otherIn.Lines) { stockIns.Add(CloneOtherIn(line, otherIn)); } //更新库存 WStockService sService = new WStockService(dbContext); rData = sService.AddStocks(stockIns); if (rData.status != 0) { dbContext.AbortTransaction(); } else { dbContext.CompleteTransaction(); } } catch (Exception ex) { dbContext.AbortTransaction(); throw ex; } return(rData); }