internal static IResult <PickedInventoryParameters> ToParsedParameters(this IPickedInventoryItemParameters item, bool requireOrderItemKey = false)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }

            IInventoryPickOrderItemKey orderItemKey = null;

            if (requireOrderItemKey || item.OrderItemKey != null)
            {
                var orderItemKeyResult = KeyParserHelper.ParseResult <IInventoryPickOrderItemKey>(item.OrderItemKey);
                if (!orderItemKeyResult.Success)
                {
                    return(orderItemKeyResult.ConvertTo <PickedInventoryParameters>());
                }
                orderItemKey = orderItemKeyResult.ResultingObject;
            }

            var inventoryKeyResult = KeyParserHelper.ParseResult <IInventoryKey>(item.InventoryKey);

            if (!inventoryKeyResult.Success)
            {
                return(inventoryKeyResult.ConvertTo <PickedInventoryParameters>());
            }

            return(new SuccessResult <PickedInventoryParameters>(new PickedInventoryParameters(orderItemKey, inventoryKeyResult.ResultingObject, item.Quantity, item.CustomerLotCode, item.CustomerProductCode)));
        }
Пример #2
0
 public SetPickedInventoryItemParameters(IPickedInventoryItemParameters parameters)
 {
     OrderItemKey        = parameters.OrderItemKey;
     InventoryKey        = parameters.InventoryKey;
     Quantity            = parameters.Quantity;
     CustomerLotCode     = parameters.CustomerLotCode;
     CustomerProductCode = parameters.CustomerProductCode;
 }