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

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

            var predicate = orderKeyResult.ResultingObject.ToInventoryShipmentOrderKey().FindByPredicate;
            var select    = InventoryShipmentOrderProjectors.SplitSelectAcknowledgement(_inventoryShipmentOrderUnitOfWork.SalesOrderRepository.All());

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

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

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