public void Handle(EdgeHubDataPointReceived @event) { try { _logger.Information("Received event: {EdgeHubEvent}", JsonConvert.SerializeObject(@event)); (EdgeHubDataPointRemapped remapped, EdgeHubDataPointWithSource mappedWithSource) = RemapDataPoint(@event); _logger.Information("Remapped: {EdgeHubEvent}", JsonConvert.SerializeObject(remapped)); SendEvent(remapped); SendEventWithSource(mappedWithSource); } catch (Exception e) { if (e is MissingTagInSourceException || e is MissingSourceException) { var eventWithSource = new EdgeHubDataPointWithSource { Source = @event.Source, Tag = @event.Tag, Value = @event.Value, Timestamp = @event.Timestamp, MetaData = @event.MetaData, }; SendEventWithSource(eventWithSource); } } }
private (EdgeHubDataPointRemapped, EdgeHubDataPointWithSource) RemapDataPoint(EdgeHubDataPointReceived incoming) { var timeseries = _mapper.GetTimeSeriesFor(incoming.Source, incoming.Tag); var mappedEvent = new EdgeHubDataPointRemapped { TimeSeries = timeseries, Value = incoming.Value, Timestamp = incoming.Timestamp, }; var eventWithSource = new EdgeHubDataPointWithSource { Source = incoming.Source, Tag = incoming.Tag, TimeSeries = timeseries, Value = incoming.Value, Timestamp = incoming.Timestamp, MetaData = incoming.MetaData, }; return(mappedEvent, eventWithSource); }