示例#1
0
        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)));
        }
示例#2
0
        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);
        }