public static TemperatureHumidityApiModel ToApiModel(this TemperatureHumidityReading businessModel) { return(new TemperatureHumidityApiModel { SensorId = businessModel.SensorId, TimestampWest = DateTimeOffsetHelper.ConvertToWest(businessModel.TimestampUtc), Temperature = businessModel.Temperature, Humidity = businessModel.Humidity }); }
public void AddReading(TemperatureHumidityReading reading) { Count++; TotalTemperature += reading.Temperature; TotalHumidity += reading.Humidity; }
public static IActionResult Run( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req, [Table("TemperatureHumidity")] out TemperatureHumidityReading output, [SignalR(HubName = "climate")] IAsyncCollector <SignalRMessage> signalRMessages, ILogger log) { req.FixCorsHeaders(); output = null; string requestBody; try { requestBody = new StreamReader(req.Body).ReadToEnd(); } catch (Exception e) { log.LogWarning(e, "Could not read the body of the request"); return(new BadRequestObjectResult("Could not read the body of the request")); } TemperatureHumidityInput input; try { input = JsonConvert.DeserializeObject <TemperatureHumidityInput>(requestBody); } catch (Exception e) { log.LogWarning(e, "The received json data ({Json}) could not be parsed", requestBody); return(new BadRequestObjectResult("The received json data could not be parsed")); } if (string.IsNullOrWhiteSpace(input.SensorId)) { log.LogWarning("Sensor id missing"); return(new BadRequestObjectResult("Sensor id missing")); } var readAtUtc = DateTimeOffset.UtcNow; output = new TemperatureHumidityReading { PartitionKey = input.SensorId, RowKey = readAtUtc.ToRowKey(), ReadAtUtc = readAtUtc, Temperature = input.Temperature, Humidity = input.Humidity }; signalRMessages.AddAsync( new SignalRMessage { Target = "notifyTemperatureHumidityUpdated", Arguments = new object[] { new { sensorId = input.SensorId, timestampWest = DateTimeOffsetHelper.ConvertToWest(readAtUtc), temperature = input.Temperature, humidity = input.Humidity } } }).Wait(); return(new OkResult()); }
public IntervalDataGroup(string sensorId, DateTimeOffset from, TimeSpan length, TemperatureHumidityReading reading) { SensorId = sensorId; From = from; To = from.Add(length); Count = 1; TotalTemperature = reading.Temperature; TotalHumidity = reading.Humidity; }