Exemple #1
0
        /// <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);
        }
Exemple #2
0
        /// <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);
        }