|  |  | 
 |  |  |                 { | 
 |  |  |                     x.PalleCode = stockInfo.PalletCode; | 
 |  |  |                     x.BeforeQuantity = beforeQuantity; | 
 |  |  |                     if (totalQuantity > beforeQuantity) | 
 |  |  |                     if (totalQuantity >= beforeQuantity) | 
 |  |  |                     { | 
 |  |  |                         x.ChangeQuantity = stockInfoDetails[index].StockQuantity; | 
 |  |  |                         currentQuantity += stockInfoDetails[index].StockQuantity; | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public void AddStockChangeRecord(Dt_StockInfo stockInfo, List<Dt_StockInfoDetail> updateDetails, List<Dt_StockInfoDetail> deleteDetails, StockChangeTypeEnum changeType, int? taskNum = null) | 
 |  |  |         public void AddStockChangeRecord(Dt_StockInfo stockInfo, List<Dt_StockInfoDetail> residueDetailList, List<Dt_StockInfoDetail> updateDetails, List<Dt_StockInfoDetail> deleteDetails, StockChangeTypeEnum changeType, int? taskNum = null) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  | 
 |  |  |  | 
 |  |  |                 int index1 = 0; | 
 |  |  |                 List<Dt_StockQuantityChangeRecord> records1 = _mapper.Map<List<Dt_StockQuantityChangeRecord>>(updateDetails); | 
 |  |  |                 float beforeQuantity = updateDetails.Sum(x => x.OutboundQuantity + x.StockQuantity) + deleteDetails.Sum(x => x.StockQuantity) + residueDetailList.Sum(x => x.StockQuantity); | 
 |  |  |  | 
 |  |  |                 records1.ForEach(x => | 
 |  |  |                 { | 
 |  |  |                     x.PalleCode = stockInfo.PalletCode; | 
 |  |  |                     x.BeforeQuantity = deleteDetails[index1].StockQuantity + deleteDetails[index1].OutboundQuantity; | 
 |  |  |                     x.ChangeQuantity = -deleteDetails[index1].OutboundQuantity; | 
 |  |  |                     x.AfterQuantity = deleteDetails[index1].StockQuantity; | 
 |  |  |                     x.BeforeQuantity = beforeQuantity; | 
 |  |  |                     x.ChangeQuantity = -updateDetails[index1].OutboundQuantity; | 
 |  |  |                     x.AfterQuantity = beforeQuantity + x.ChangeQuantity; | 
 |  |  |                     beforeQuantity -= updateDetails[index1].OutboundQuantity; | 
 |  |  |                     index1++; | 
 |  |  |                 }); | 
 |  |  |                 stockQuantityChangeRecords.AddRange(records1); | 
 |  |  | 
 |  |  |                 records2.ForEach(x => | 
 |  |  |                 { | 
 |  |  |                     x.PalleCode = stockInfo.PalletCode; | 
 |  |  |                     x.BeforeQuantity = deleteDetails[index2].StockQuantity; | 
 |  |  |                     x.BeforeQuantity = beforeQuantity; | 
 |  |  |                     x.ChangeQuantity = -deleteDetails[index2].StockQuantity; | 
 |  |  |                     x.AfterQuantity = 0; | 
 |  |  |                     x.AfterQuantity = beforeQuantity + x.ChangeQuantity; | 
 |  |  |                     beforeQuantity -= deleteDetails[index2].StockQuantity; | 
 |  |  |                     index2++; | 
 |  |  |                 }); | 
 |  |  |                 stockQuantityChangeRecords.AddRange(records2); |