public IResult <IInventoryShipmentOrderBillOfLadingReturn> GetInventoryShipmentOrderBillOfLading(string orderKey)
        {
            var orderKeyResult = KeyParserHelper.ParseResult <IInventoryShipmentOrderKey>(orderKey);

            if (!orderKeyResult.Success)
            {
                return(orderKeyResult.ConvertTo <IInventoryShipmentOrderBillOfLadingReturn>());
            }

            var predicate = new InventoryShipmentOrderKey(orderKeyResult.ResultingObject).FindByPredicate;
            var select    = InventoryShipmentOrderProjectors.SplitSelectBillOfLading();

            var order = _inventoryShipmentOrderUnitOfWork.InventoryShipmentOrderRepository.Filter(predicate).SplitSelect(select).FirstOrDefault();

            if (order == null)
            {
                return(new InvalidResult <IInventoryShipmentOrderBillOfLadingReturn>(null, string.Format(UserMessages.InventoryShipmentOrderNotFound, orderKey)));
            }

            return(new SuccessResult <IInventoryShipmentOrderBillOfLadingReturn>(order));
        }