Advertisement
Guest User

Untitled

a guest
Jun 19th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.31 KB | None | 0 0
  1.             var itemLocations = _itemLocationService.SelectAllBy(l => l.ItemID == moveModel.ItemID && l.SizeID == moveModel.SizeID && l.ID != itemLocation.ID).ToList();
  2.             var logs = new List<ItemLocationLog>();
  3.  
  4.             int neededQty = moveModel.Quantity;
  5.             foreach (var item in itemLocations)
  6.             {
  7.                 if (neededQty == 0)
  8.                 {
  9.                     break;
  10.                 }
  11.                 if (item.Quantity >= neededQty)
  12.                 {
  13.                     logs.Add(new ItemLocationLog
  14.                     {
  15.                         ItemID = moveModel.ItemID,
  16.                         LocationFromID = item.LocationID,
  17.                         LocationToID = newItemLocation.LocationID,
  18.                         CreatedBy = userId,
  19.                         CreatedOn = DateTime.Now,
  20.                         Quantity = neededQty,
  21.                         SizeID = moveModel.SizeID
  22.                     });
  23.  
  24.                     item.Quantity -= neededQty;
  25.                     neededQty = 0;
  26.                     break;
  27.                 }
  28.                 else if (item.Quantity > 0)
  29.                 {
  30.                     logs.Add(new ItemLocationLog
  31.                     {
  32.                         ItemID = moveModel.ItemID,
  33.                         LocationFromID = item.LocationID,
  34.                         LocationToID = newItemLocation.LocationID,
  35.                         CreatedBy = userId,
  36.                         CreatedOn = DateTime.Now,
  37.                         Quantity = item.Quantity,
  38.                         SizeID = moveModel.SizeID
  39.                     });
  40.                     neededQty -= item.Quantity;
  41.                     item.Quantity = 0;
  42.                 }
  43.             }
  44.  
  45.             if (neededQty > 0)
  46.             {
  47.                 logs.Add(new ItemLocationLog
  48.                 {
  49.                     ItemID = moveModel.ItemID,
  50.                     LocationFromID = null,
  51.                     LocationToID = newItemLocation.LocationID,
  52.                     CreatedBy = userId,
  53.                     CreatedOn = DateTime.Now,
  54.                     Quantity = neededQty,
  55.                     SizeID = moveModel.SizeID
  56.                 });
  57.             }
  58.  
  59.             _itemLocationService.Save(itemLocations);
  60.             _itemLocationLogService.Save(logs);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement