private void When(MeterReadingsCollected @event) { if (LatestReadingDate == null || @event.Date > LatestReadingDate) { LatestReadingDate = @event.Date; } }
private IEvent Map(MeterReadingsCollected e) { var monitorReadings = e.Readings.Select(t => new MonitorReading(t.Timestamp, t.Value)).ToList(); var retVal = new MonitorReadingsCollected(e.Date, monitorReadings.ToArray()); retVal.Timestamp = e.Timestamp; return(retVal); }
private EventWrapper Transformer(MeterReadingsCollected e, EventWrapper original) { var newStreamId = ReplaceMeterWithMonitor(original.StreamInfo.Id); var newEventId = $"{newStreamId}:{original.StreamInfo.Version}"; var monitorReadings = e.Readings.Select(x => new MonitorReading(x.Timestamp, x.Value)); var newEvent = new MonitorReadingsCollected(e.Date, monitorReadings.ToArray()); newEvent.Timestamp = e.Timestamp; var expectedValue = CreateEventWrapper(newEventId, newStreamId, original.StreamInfo.Version, newEvent); return(expectedValue); }
public async Task SC02_AppendToExistingStreamAsync() { var eventStore = new CosmosDBEventStore(EndpointUri, AuthKey, Database); var streamId = $"meter:87000001"; var stream = await eventStore.LoadStreamAsync(streamId); var readingsCollected = new MeterReadingsCollected { Date = DateTime.Today, Readings = GenerateMeterReadings(DateTime.Today).ToArray() }; var succes = await eventStore.AppendToStreamAsync( streamId, stream.Version, new IEvent[] { readingsCollected }); Assert.IsTrue(succes, "Unexpected stream version encountered."); }
public async Task SC02_AppendToExistingStreamAsync() { IEventStore eventStore = new CosmosEventStore(this, EndpointUrl, AuthorizationKey, DatabaseId); var streamId = $"meter:87000001"; var stream = await eventStore.LoadStreamAsync(streamId); var readingsCollected = new MeterReadingsCollected { Date = new DateTime(2020, 4, 30), Readings = GenerateMeterReadings(new DateTime(2020, 4, 30)).ToArray() }; var succes = await eventStore.AppendToStreamAsync( streamId, stream.Version, new IEvent[] { readingsCollected }); Assert.IsTrue(succes, "Unexpected stream version encountered."); }
private void When(MeterReadingsCollected @event) { }
private void WhenReadingsCollected(MeterReadingsCollected meterReadingsCollected, DailyTotalsByWeek view) { view.Consumption[meterReadingsCollected.Date] = meterReadingsCollected.Readings.Sum(r => r.Value); }
private void WhenMeterReadingsCollected(MeterReadingsCollected e, MeterProjection view) { view.LatestReadingDate = e.Date; }