Ejemplo n.º 1
0
        protected virtual ICreateInventoryItemEntry CreateInventoryItemEntry(IInOutState inOut, IInOutLineState inOutLine)
        {
            var entry = new CreateInventoryItemEntry();

            entry.InventoryItemId = new InventoryItemId(inOutLine.ProductId, inOutLine.LocatorId, inOutLine.AttributeSetInstanceId);
            entry.EntrySeqId      = SeqIdGenerator.GetNextId(); //DateTime.Now.Ticks;
            entry.OnHandQuantity  = inOutLine.MovementQuantity; // *signum;
            entry.Source          = new InventoryItemSourceInfo(DocumentTypeIds.InOut, inOut.DocumentNumber, inOutLine.LineNumber, 0);
            return(entry);
        }
Ejemplo n.º 2
0
        protected virtual ICreateInventoryItemEntry CreateInventoryItemEntry(IShipmentState shipment, IShipmentReceiptState lineReceipt)
        {
            var targetLocatorId = WarehouseUtils.GetReceivingLocatorId(shipment.DestinationFacilityId);
            var entry           = new CreateInventoryItemEntry();

            entry.InventoryItemId = new InventoryItemId(lineReceipt.ProductId, targetLocatorId, lineReceipt.AttributeSetInstanceId);
            entry.EntrySeqId      = SeqIdGenerator.GetNextId();   //DateTime.Now.Ticks;
            entry.OnHandQuantity  = lineReceipt.AcceptedQuantity; // *signum;
            entry.Source          = new InventoryItemSourceInfo(DocumentTypeIds.Shipment, shipment.ShipmentId, lineReceipt.ReceiptSeqId, 0);
            return(entry);
        }
Ejemplo n.º 3
0
        internal static ICreateInventoryItemEntry CreateInventoryItemEntry(IMovementState movement, IMovementLineState movementLine, string locatorId, decimal quantity, int lineSubSeqId,
                                                                           Func <long> nextEntrySeqId, bool usingInTransitQty = false)
        {
            var entry     = new CreateInventoryItemEntry();
            var invItemId = new InventoryItemId(movementLine.ProductId, locatorId, movementLine.AttributeSetInstanceId);

            entry.InventoryItemId = invItemId;
            entry.EntrySeqId      = nextEntrySeqId();
            if (!usingInTransitQty)
            {
                entry.OnHandQuantity = quantity;
            }
            else
            {
                entry.InTransitQuantity = quantity;
            }
            entry.Source = new InventoryItemSourceInfo(DocumentTypeIds.Movement, movement.DocumentNumber, movementLine.LineNumber, lineSubSeqId);
            return(entry);
        }