public void SetAvailable(bool available) { if (IsOn) { TurnOff(); } if (!available) { TemperatureReadings.Clear(); PowerReadings.Clear(); ReadingsUpdated?.Invoke(this, EventArgs.Empty); } IsAvailable = available; PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(IsAvailable))); PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(IsOn))); PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(TurnOnEnabled))); PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(TurnOffEnabled))); PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(Status))); PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(CoolerTabInfoVisibility))); PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(CoolerTabNotOnVisibility))); PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(IsOffVisibility))); PropertyChanged.Invoke(this, new PropertyChangedEventArgs(nameof(IsOnVisibility))); }
public void AddReading(DateTime readingTime, double?temperature, double?power) { LastReadingTime = readingTime; TemperatureReadings.Add(new DataPoint(DateTimeAxis.ToDouble(readingTime), temperature ?? double.NaN)); PowerReadings.Add(new DataPoint(DateTimeAxis.ToDouble(readingTime), power ?? double.NaN)); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(LastPowerReading))); PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(LastTemperatureReading))); ReadingsUpdated?.Invoke(this, EventArgs.Empty); }