예제 #1
0
            private async Task SerializeBuffered(OeEntryFactory entryFactory, Db.OeEntityAsyncEnumerator asyncEnumerator, Stream stream)
            {
                var values = new List <Object>();

                while (await asyncEnumerator.MoveNextAsync().ConfigureAwait(false))
                {
                    values.Add(asyncEnumerator.Current);
                }

                var resourceSet = new ODataResourceSet();

                resourceSet.Count = values.Count;
                Writer.WriteStart(resourceSet);

                foreach (Object value in values)
                {
                    int?          dummy;
                    ODataResource entry = CreateEntry(entryFactory, entryFactory.GetValue(value, out dummy));
                    Writer.WriteStart(entry);
                    foreach (OeEntryFactory navigationLink in entryFactory.NavigationLinks)
                    {
                        WriteNavigationLink(value, navigationLink);
                    }
                    Writer.WriteEnd();
                }

                Writer.WriteEnd();
            }
예제 #2
0
            private async Task SerializeUnbuffered(OeEntryFactory entryFactory, Db.OeEntityAsyncEnumerator asyncEnumerator, Stream stream)
            {
                Writer.WriteStart(new ODataResourceSet());

                while (await asyncEnumerator.MoveNextAsync().ConfigureAwait(false))
                {
                    Object        value = asyncEnumerator.Current;
                    int?          dummy;
                    ODataResource entry = CreateEntry(entryFactory, entryFactory.GetValue(value, out dummy));
                    Writer.WriteStart(entry);
                    foreach (OeEntryFactory navigationLink in entryFactory.NavigationLinks)
                    {
                        WriteNavigationLink(value, navigationLink);
                    }
                    Writer.WriteEnd();
                }

                Writer.WriteEnd();
            }
예제 #3
0
            public async Task SerializeAsync(OeEntryFactory entryFactory, Db.OeEntityAsyncEnumerator asyncEnumerator, Stream stream, long?count)
            {
                ODataResourceSet oDataResourceSet = new ODataResourceSet();

                oDataResourceSet.Count = count;
                Writer.WriteStart(oDataResourceSet);
                while (await asyncEnumerator.MoveNextAsync().ConfigureAwait(false))
                {
                    Object        value = asyncEnumerator.Current;
                    ODataResource entry = CreateEntry(entryFactory, entryFactory.GetValue(value));
                    Writer.WriteStart(entry);
                    foreach (OeEntryFactory navigationLink in entryFactory.NavigationLinks)
                    {
                        WriteNavigationLink(value, navigationLink);
                    }
                    Writer.WriteEnd();
                }
                Writer.WriteEnd();
            }