Ejemplo n.º 1
0
 public DeltaSnapshot Clone()
 {
     DeltaSnapshot snapshot = new DeltaSnapshot(this.QueryUri);
     snapshot.TimeStamp = this.TimeStamp;
     foreach (var entry in this.Entries)
     {
         snapshot.Entries.Add(entry.Clone());
     }
     return snapshot;
 }
Ejemplo n.º 2
0
        public DeltaSnapshot Clone()
        {
            DeltaSnapshot snapshot = new DeltaSnapshot(this.QueryUri);

            snapshot.TimeStamp = this.TimeStamp;
            foreach (var entry in this.Entries)
            {
                snapshot.Entries.Add(entry.Clone());
            }
            return(snapshot);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Generate delta token and save (delta token, delta query) mapping
        /// </summary>
        /// <param name="query">Delta query</param>
        /// <returns>Delta token</returns>
        public static string GenerateDeltaToken(Uri query, IEnumerable entries, IEdmNavigationSource entitySource, SelectExpandClause selectExpandClause)
        {
            // TODO: Consider multiple threads here, may need add lock here.
            //       May need to optimize here, if $top/$skip/$count

            //var builder = new ODataAnnotationUriBuilder(baseUri);
            var deltaSnapshot = new DeltaSnapshot(query);
            SnapResults(deltaSnapshot.Entries, entries, entitySource, selectExpandClause, string.Empty, string.Empty);
            string deltaToken = deltaSnapshot.TimeStamp.Ticks.ToString(CultureInfo.InvariantCulture);
            DeltaTokenDic[deltaToken] = deltaSnapshot;
            return deltaToken;
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Generate delta token and save (delta token, delta query) mapping
        /// </summary>
        /// <param name="query">Delta query</param>
        /// <returns>Delta token</returns>
        public static string GenerateDeltaToken(Uri query, IEnumerable entries, IEdmNavigationSource entitySource, SelectExpandClause selectExpandClause)
        {
            // TODO [lianw]: Consider multiple threads here, may need add lock here.
            // TODO [lianw]: May need to optimize here, if $top/$skip/$count

            //var builder = new ODataAnnotationUriBuilder(baseUri);
            var deltaSnapshot = new DeltaSnapshot(query);

            SnapResults(deltaSnapshot.Entries, entries, entitySource, selectExpandClause, string.Empty, string.Empty);
            string deltaToken = deltaSnapshot.TimeStamp.Ticks.ToString(CultureInfo.InvariantCulture);

            DeltaTokenDic[deltaToken] = deltaSnapshot;
            return(deltaToken);
        }