Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var itemLocations = _itemLocationService.SelectAllBy(l => l.ItemID == moveModel.ItemID && l.SizeID == moveModel.SizeID && l.ID != itemLocation.ID).ToList();
- var logs = new List<ItemLocationLog>();
- int neededQty = moveModel.Quantity;
- foreach (var item in itemLocations)
- {
- if (neededQty == 0)
- {
- break;
- }
- if (item.Quantity >= neededQty)
- {
- logs.Add(new ItemLocationLog
- {
- ItemID = moveModel.ItemID,
- LocationFromID = item.LocationID,
- LocationToID = newItemLocation.LocationID,
- CreatedBy = userId,
- CreatedOn = DateTime.Now,
- Quantity = neededQty,
- SizeID = moveModel.SizeID
- });
- item.Quantity -= neededQty;
- neededQty = 0;
- break;
- }
- else if (item.Quantity > 0)
- {
- logs.Add(new ItemLocationLog
- {
- ItemID = moveModel.ItemID,
- LocationFromID = item.LocationID,
- LocationToID = newItemLocation.LocationID,
- CreatedBy = userId,
- CreatedOn = DateTime.Now,
- Quantity = item.Quantity,
- SizeID = moveModel.SizeID
- });
- neededQty -= item.Quantity;
- item.Quantity = 0;
- }
- }
- if (neededQty > 0)
- {
- logs.Add(new ItemLocationLog
- {
- ItemID = moveModel.ItemID,
- LocationFromID = null,
- LocationToID = newItemLocation.LocationID,
- CreatedBy = userId,
- CreatedOn = DateTime.Now,
- Quantity = neededQty,
- SizeID = moveModel.SizeID
- });
- }
- _itemLocationService.Save(itemLocations);
- _itemLocationLogService.Save(logs);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement