public async Task <bool> AddMessurement(MeasurementSmoker measurement) { var dbMeasurement = MapToMeasurement(measurement); dbMeasurement.MeasurementId = Guid.NewGuid(); dbMeasurement.TimeStampeReceived = DateTime.Now; await CheckSettingsForNull(); if (_settings.OpenCloseTreshold != measurement.OpenCloseTreshold) { _settings = await GetActiveSettings(); _settings.OpenCloseTreshold = measurement.OpenCloseTreshold; _context.Update(_settings); await _messageHub.Clients.Group(MessageHub.UserGroupName).ReceiveMessage("Settings", "Update"); } _context.Measurements.Add(dbMeasurement); var saved = await _context.SaveChangesAsync() == 1; var t1 = _messageHub.Clients.Group(MessageHub.UserGroupName).ReceiveMessage("Measurement", "Update"); await _notificationService.HandleMeaseurent(_settings, dbMeasurement); await t1; return(saved); }
public async Task <IActionResult> Post([FromBody] MeasurementSmoker measurement) { var ok = await _smokerService.AddMessurement(measurement); if (ok) { return(Ok()); } return(BadRequest("Error in Measurement")); }
private Measurement MapToMeasurement(MeasurementSmoker measurement) { return(new Measurement { ContentSensor = measurement.ContentSensor, FireSensor = measurement.FireSensor, MeasurementId = measurement.MeasurementId, Sensor1 = measurement.Sensor1, Sensor2 = measurement.Sensor2, Sensor3 = measurement.Sensor3, Sensor4 = measurement.Sensor4, TimeStampSmoker = measurement.TimeStamp, OpenCloseState = measurement.OpenCloseState, IsAutoMode = measurement.IsAutoMode }); }