public async Task StoreTimeSeriesValuesAsync(IEnumerable <ITimeSeriesValue> timeSeriesEvents, int ArtistWorkId, TimeSeries timeSeries, int artistId) { var entity = new TimeSeriesValueEntity() { ArtistWorkId = ArtistWorkId, ArtistId = artistId, TimeSeries = timeSeries, TimeSeriesValues = timeSeriesEvents, TimeSeriesTotal = timeSeriesEvents.Sum(x => x.Value) }; var operation = TableOperation.InsertOrReplace(entity); await _cacheTable.ExecuteAsync(operation); }
public async Task <IEnumerable <ITimeSeriesValue> > FetchTimeSeriesValuesAsync(int artistWorkId, TimeSeries timeSeries) { var operation = TableOperation.Retrieve <TimeSeriesValueEntity>(artistWorkId.ToString(), timeSeries.ToString()); var execResult = await _cacheTable.ExecuteAsync(operation); TimeSeriesValueEntity entityResult = (TimeSeriesValueEntity)execResult.Result; List <TimeSeriesValue> seriesValues = new List <TimeSeriesValue>(); foreach (var item in entityResult.TimeSeriesValues) { seriesValues.Add(new TimeSeriesValue() { Timestamp = item.Timestamp, Value = item.Value }); } return(seriesValues); }
public async Task <IAggregatedEvent> FetchTimeSeriesAggregatedEventAsync(int artistId, TimeSeries timeSeries) { var operation = TableOperation.Retrieve <TimeSeriesValueEntity>(artistId.ToString(), timeSeries.ToString()); TimeSeriesValueEntity entity = (TimeSeriesValueEntity)(await _cacheTable.ExecuteAsync(operation)).Result; AggregatedEvent aggregatedEvent = new AggregatedEvent() { AggregatedEventSum = entity.TimeSeriesTotal, AggregationTimeSeries = entity.TimeSeries, Id = entity.ArtistId, AggregatedEventSumSource = entity.TimeSeriesValues.Select(x => new AggregatedEventSource() { Timestamp = x.Timestamp, Value = x.Value }) }; return(aggregatedEvent); }