Example #1
0
        public async Task FillNextLinkProperties(OeParser parser, CancellationToken token)
        {
            using (var response = new MemoryStream())
                foreach (KeyValuePair <Object, Dictionary <PropertyInfo, NavigationInfo> > navigationPropertyEntity in NavigationInfoEntities)
                {
                    foreach (KeyValuePair <PropertyInfo, NavigationInfo> propertyResourceSet in navigationPropertyEntity.Value)
                    {
                        Uri requestUri = propertyResourceSet.Value.NextPageLink;
                        while (requestUri != null)
                        {
                            response.SetLength(0);
                            await parser.ExecuteGetAsync(requestUri, OeRequestHeaders.JsonDefault, response, token).ConfigureAwait(false);

                            response.Position = 0;

                            var navigationPropertyReader = new ResponseReader(EdmModel, _serviceProvider);
                            AddItems(navigationPropertyEntity.Key, propertyResourceSet.Key, navigationPropertyReader.Read(response));
                            await navigationPropertyReader.FillNextLinkProperties(parser, token).ConfigureAwait(false);

                            requestUri = navigationPropertyReader.ResourceSet.NextPageLink;
                        }
                    }
                }
        }