예제 #1
0
        public void UpdateNextPageUrlWithQueryParameters(NonPagedQueryCollection requestQuery, string nextPageUrlOption)
        {
            if (string.IsNullOrWhiteSpace(nextPageUrlOption) || requestQuery.IsEmpty)
            {
                return;
            }

            var parameters = requestQuery
                             .Aggregate(string.Empty, (result, filterQueryParameter) => $"{result}&{filterQueryParameter.Key}={Uri.EscapeUriString(filterQueryParameter.Value)}");

            Content = Regex.Replace(
                Content,
                GetNextPagePattern(nextPageUrlOption),
                $"$1{EscapeForContentType(parameters)}$2",
                RegexOptions.IgnoreCase);
        }
        public void UpdateNextPageUrlWithQueryParameters(NonPagedQueryCollection requestQuery, string nextPageUrlTemplate)
        {
            if (string.IsNullOrWhiteSpace(nextPageUrlTemplate) || IsProblemDetail)
            {
                return;
            }

            var parameters = requestQuery
                             .Where(ParameterIsAllowed)
                             .Select(FormatAsUriParameter)
                             .Select(EscapeForContentType)
                             .Aggregate(string.Empty, (result, parameter) => $"{result}{parameter}");

            if (string.IsNullOrWhiteSpace(parameters))
            {
                return;
            }

            Content = Regex.Replace(
                Content,
                GetNextPagePattern(nextPageUrlTemplate),
                $"$1$2{parameters}$3",
                RegexOptions.IgnoreCase);
        }