Exemple #1
0
        /// <summary>
        /// Calls the base class method to process the primitive collection.
        /// </summary>
        /// <param name="payloadElement">The primitive collection to process.</param>
        public override void Visit(PrimitiveCollection payloadElement)
        {
            ODataCollectionStart collectionStart = new ODataCollectionStart();
            var annotation = new ODataCollectionItemsObjectModelAnnotation();

            foreach (var primitive in payloadElement)
            {
                annotation.Add(primitive.ClrValue);
            }

            collectionStart.SetAnnotation <ODataCollectionItemsObjectModelAnnotation>(annotation);
        }
Exemple #2
0
        /// <summary>
        /// Calls the base class method to process the instance collection.
        /// </summary>
        /// <param name="payloadElement">The complex instance collection to process.</param>
        public override void Visit(ComplexInstanceCollection payloadElement)
        {
            ODataCollectionStart collectionStart = new ODataCollectionStart();

            this.items.Push(collectionStart);
            var annotation = new ODataCollectionItemsObjectModelAnnotation();

            foreach (var complex in payloadElement)
            {
                this.items.Push(new ODataComplexValue()
                {
                    TypeName = complex.FullTypeName
                });

                this.Recurse(complex);
                annotation.Add(this.items.Pop());
            }

            collectionStart.SetAnnotation <ODataCollectionItemsObjectModelAnnotation>(annotation);
        }