/// <summary> /// Update this model when temperature unit changes /// </summary> /// <param name="newUnit"></param> public void UpdateByTempUnitChange(TemperatureUnit newUnit) { if (CurrentTempUnit == newUnit) { return; } CurrentTemperature = new TemperatureUnitConvertor().ConvertToNewReading(CurrentTemperature, CurrentTempUnit, newUnit); CurrentTempUnit = newUnit; // Populate to thresholds ThresholdsModel.PopulateTempUnitToSettings(CurrentTempUnit); }
/// <summary> /// Get the latest tempearture from external source /// </summary> /// <returns></returns> public void GetLatestTemperature() { ISourceData sourceData = ExternalSource.ConvertSourceToData(); if (sourceData.Unit == TemperatureUnit.Unknown) { throw new ThermometerUnknownUnitException(); } CurrentTemperature = new TemperatureUnitConvertor().ConvertToNewReading( sourceData.Reading, from: sourceData.Unit, to: CurrentTempUnit); // Populate to thresholds ThresholdsModel.PopulateTempUnitToSettings(CurrentTempUnit); }