internal string GetTitleStorageBlobMetadataUploadSubpath(
            XboxLiveUser user, TitleStorageBlobMetadata blobMetadata, string continuationToken, bool finalBlock)
        {
            var pathBuilder = new StringBuilder();

            pathBuilder.Append(this.GetTitleStorageBlobMetadataDownloadSubpath(user, blobMetadata, string.Empty));

            var parameterList = new Dictionary <string, string>();

            if (blobMetadata.ClientTimeStamp != null)
            {
                var clientTimestamp = blobMetadata.ClientTimeStamp.ToString();
                parameterList.Add("clientFileTime", Uri.EscapeUriString(clientTimestamp));
            }

            if (!string.IsNullOrEmpty(blobMetadata.DisplayName))
            {
                parameterList.Add("displayName", Uri.EscapeUriString(blobMetadata.DisplayName));
            }

            if (!string.IsNullOrEmpty(continuationToken))
            {
                parameterList.Add("continuationToken", Uri.EscapeUriString(continuationToken));
            }

            if (blobMetadata.BlobType == TitleStorageBlobType.Binary)
            {
                parameterList.Add("finalBlock", finalBlock.ToString());
            }

            pathBuilder.Append(XboxLiveHttpRequest.GetQueryFromParams(parameterList));
            return(pathBuilder.ToString());
        }
        internal static void AppendPagingInfo(
            StringBuilder stringBuilder, uint skipItems, uint maxItems, string continuationToken)
        {
            var parameterList = new Dictionary <string, string>();

            if (maxItems > 0)
            {
                parameterList.Add("maxItems", Convert.ToString(maxItems));
            }

            if (string.IsNullOrEmpty(continuationToken))
            {
                if (skipItems > 0)
                {
                    parameterList.Add("skipItems", Convert.ToString(skipItems));
                }
            }
            else
            {
                parameterList.Add("continuationToken", continuationToken);
            }

            stringBuilder.Append(XboxLiveHttpRequest.GetQueryFromParams(parameterList));
        }