/// <inheritdoc/> public async Task <bool> UpdateSensorAsync(SensorDTO sensorDTO) { var sensor = await _sensorContext.Sensors.FirstOrDefaultAsync(s => s.Id == sensorDTO.Id); if (sensor == null) { return(false); } sensor.Serial = sensorDTO.Serial; if (sensor.SensorType.Type != sensorDTO.SensorType) { var newType = await _sensorContext.Types.FirstOrDefaultAsync(t => t.Type == sensorDTO.SensorType); if (newType == null) { _logger.LogError(SensorsConstants.UNKNOWN_SENSOR_TYPE); return(false); } else { sensor.SensorTypeId = newType.Id; sensor.SensorType = newType; } } _sensorContext.Update(sensor); await _sensorContext.SaveChangesAsync(new CancellationToken()); return(true); }
/// <inheritdoc/> public async Task <bool> UpdateRecordAsync(RecordDTO recordDTO) { var record = await _sensorContext.Records.FirstOrDefaultAsync(r => r.Id == recordDTO.Id); if (record == null) { return(false); } if (recordDTO.Value == null) { _logger.LogError(RecordsConstants.EMPTY_RECORD_VALUE); return(false); } record.Value = recordDTO.Value; record.Date = recordDTO.Date; record.IsDeleted = recordDTO.IsDeleted; if (record.SensorDevice.Serial != recordDTO.SensorDeviceSerial) { var newSensorDevice = await _sensorContext.Sensors.FirstOrDefaultAsync(s => s.Serial == recordDTO.SensorDeviceSerial); if (newSensorDevice == null) { _logger.LogError(SensorsConstants.UNKNOWN_SENSOR_SERIAL); return(false); } else { record.SensorDeviceId = newSensorDevice.Id; record.SensorDevice = newSensorDevice; } } _sensorContext.Update(record); await _sensorContext.SaveChangesAsync(new CancellationToken()); return(true); }