/// <summary> /// Visits a feed item. /// </summary> /// <param name="feed">The feed to visit.</param> protected override ODataPayloadElement VisitFeed(ODataFeed feed) { ODataPayloadElement payloadElement = base.VisitFeed(feed); ODataFeedPayloadOrderObjectModelAnnotation payloadOrderFeedAnnotation = feed.GetAnnotation<ODataFeedPayloadOrderObjectModelAnnotation>(); if (payloadOrderFeedAnnotation != null) { PayloadOrderODataPayloadElementAnnotation payloadOrderElementAnnotation = new PayloadOrderODataPayloadElementAnnotation(); payloadOrderElementAnnotation.PayloadItems.AddRange(payloadOrderFeedAnnotation.PayloadItems); payloadElement.Add(payloadOrderElementAnnotation); } return payloadElement; }
/// <summary> /// Creates the materializer feed. /// </summary> /// <param name="feed">The feed.</param> /// <param name="entries">The entries.</param> /// <returns>The materializer feed.</returns> public static MaterializerFeed CreateFeed(ODataFeed feed, IEnumerable<ODataEntry> entries) { Debug.Assert(feed.GetAnnotation<IEnumerable<ODataEntry>>() == null, "Feed state has already been created."); if (entries == null) { entries = Enumerable.Empty<ODataEntry>(); } else { feed.SetAnnotation<IEnumerable<ODataEntry>>(entries); } return new MaterializerFeed(feed, entries); }
private void WriteFeed(ODataWriter writer, Lazy<ODataReader> lazyReader, ODataFeed feed) { this.WriteStart(writer, feed); var annotation = feed.GetAnnotation<ODataFeedEntriesObjectModelAnnotation>(); if (annotation != null) { int count = annotation.Count; for (int i = 0; i < count; ++i) { this.WriteEntry(writer, lazyReader, annotation[i]); } } this.WriteEnd(writer, ODataReaderState.FeedEnd); this.Read(lazyReader); }
/// <summary> /// Visits a feed item. /// </summary> /// <param name="feed">The feed item to visit.</param> /// <returns>An ODataPayloadElement representing the feed.</returns> protected override ODataPayloadElement VisitFeed(ODataFeed feed) { ExceptionUtilities.CheckArgumentNotNull(feed, "feed"); EntitySetInstance entitySet = (EntitySetInstance)base.VisitFeed(feed); var atomMetadata = feed.GetAnnotation<AtomFeedMetadata>(); if (atomMetadata != null) { ConvertAtomFeedMetadata(atomMetadata, entitySet); } return entitySet; }
/// <summary> /// Gets the materializer feed. /// </summary> /// <param name="feed">The feed.</param> /// <returns>The materializer feed.</returns> public static MaterializerFeed GetFeed(ODataFeed feed) { IEnumerable<ODataEntry> entries = feed.GetAnnotation<IEnumerable<ODataEntry>>(); return new MaterializerFeed(feed, entries); }
private void WriteFeed(ODataWriter writer, ODataFeed feed) { writer.WriteStart(feed); var annotation = feed.GetAnnotation<ODataFeedEntriesObjectModelAnnotation>(); if (annotation != null) { foreach (var entry in annotation) { this.WriteEntry(writer, entry); } } writer.WriteEnd(); }
/// <summary> /// Visits a feed item. /// </summary> /// <param name="feed">The feed to visit.</param> protected override void VisitFeed(ODataFeed feed) { this.VisitAtomMetadata(feed.GetAnnotation<AtomFeedMetadata>()); base.VisitFeed(feed); }