Пример #1
0
        public async Task <IDictionary <string, List <EventStreamUpdated> > > LoadAsync()
        {
            var result      = new Dictionary <string, List <EventStreamUpdated> >();
            var query       = m_table.PrepareEntityGetAllQuery();
            var queryResult = await query.ExecuteAsync();

            foreach (var row in queryResult)
            {
                var rowKey      = (string)row[KnownProperties.RowKey];
                var rowKeyParts = rowKey.Split('|');
                var streamName  = rowKeyParts[0];
                var fromVersion = StreamVersion.Parse(rowKeyParts[1]);
                var toVersion   = StreamVersion.Create((int)row["ToVersion"]);

                List <EventStreamUpdated> streamNotifications;
                if (result.ContainsKey(streamName))
                {
                    streamNotifications = result[streamName];
                }
                else
                {
                    streamNotifications = new List <EventStreamUpdated>();
                    result[streamName]  = streamNotifications;
                }

                streamNotifications.Add(new EventStreamUpdated(streamName, fromVersion, toVersion));
            }

            return(result);
        }
Пример #2
0
        public static ICloudTableEntityRangeQuery PrepareEntityGetAllQuery(this ICloudTable table)
        {
            Require.NotNull(table, "table");

            return(table.PrepareEntityGetAllQuery(EmptyArray.Get <string>()));
        }