/// <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> /// Adds all properties found on a feed to the payload order items. /// </summary> /// <param name="entry">The feed to inspect.</param> /// <param name="payloadOrderItems">The payload order items to add to, or null, if nothing should be done.</param> private static void AddFeedPayloadOrderItems(ODataFeed feed, ODataFeedPayloadOrderObjectModelAnnotation payloadOrderItems) { if (payloadOrderItems == null) return; if (feed.Id != null) payloadOrderItems.AddFeedProperty("Id"); if (feed.Count != null) payloadOrderItems.AddFeedProperty("Count"); if (feed.NextPageLink != null) payloadOrderItems.AddFeedProperty("NextPageLink"); }