private static async Task SaveToTableStorage(EventData eventData, CancellationToken cancelToken, PostRequest request) { await _tickEvents.ExecuteAsync( TableOperation.InsertOrReplace( new TickEntity(Guid.Parse(eventData.SystemProperties["iothub-connection-device-id"].ToString()), Guid.NewGuid()) { Time = request.Timestamp, Value = request.Value, SensorId = request.SensorId }), cancelToken); }
private static async Task SaveToDatabase(CancellationToken cancelToken, PostRequest request) { var context = new DataContext(); var sensor = await context.IotHubSensors.FirstOrDefaultAsync(x => x.Id == request.SensorId && x.HubId == request.HubId, cancelToken); if (sensor == null) { var hub = await context.IotHubs.FirstOrDefaultAsync(x => x.Id == request.HubId, cancelToken); sensor = new IotHubSensor { Hub = hub, Id = request.SensorId, Description = "" }; context.IotHubSensors.Add(sensor); } context.Ticks.Add(new SensorTick { Sensor = sensor, Value = request.Value, Timestamp = request.Timestamp }); await context.SaveChangesAsync(cancelToken); }