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)); }