public Task <bool> SaveMeasurementData(PublishSensorDataRequest request) { var sensor = _context.Sensor.FirstOrDefault(x => x.HostId == request.HostId && x.HostSensorId == request.SensorId); if (sensor == null) { return(Task.FromResult(false)); } var measurement = new Measurement() { Sensor = sensor }; if (request.Timestamp > 0) { measurement.MeasurementTime = request.Timestamp.FromUnixTimestamp(); } else { measurement.MeasurementTime = DateTime.Now; } switch (request.DataCase) { case PublishSensorDataRequest.DataOneofCase.DoubleData: measurement.Data = request.DoubleData; measurement.DataType = DataType.Double; break; case PublishSensorDataRequest.DataOneofCase.IntData: measurement.Data = request.IntData; measurement.DataType = DataType.Integer; break; default: throw new Exception("Unknown measurement data type"); } _context.Measurement.Add(measurement); _context.SaveChanges(); return(Task.FromResult(true)); }
public override Task <PublishResponse> PublishSensorData(PublishSensorDataRequest request, ServerCallContext context) { throw new NotImplementedException(); }