protected string GetTrackingUrl(object dataItem)
        {
            TrackingNumber trackingNumber = (TrackingNumber)dataItem;

            if (trackingNumber.ShipGateway != null)
            {
                IShippingProvider provider = trackingNumber.ShipGateway.GetProviderInstance();
                TrackingSummary   summary  = provider.GetTrackingSummary(trackingNumber);
                if (summary != null)
                {
                    // TRACKING DETAILS FOUND
                    if (summary.TrackingResultType == TrackingResultType.InlineDetails)
                    {
                        // send to view tracking page
                        return(string.Format("ViewTrackingNumber.aspx?TrackingNumberId={0}", trackingNumber.Id.ToString()));
                    }
                    else if (summary.TrackingResultType == TrackingResultType.ExternalLink)
                    {
                        return(summary.TrackingLink);
                    }
                }
            }
            return(string.Empty);
        }