protected void OnTemperatureReachesEmergencyLevel(TemperatureEventArgs e) { EventHandler <TemperatureEventArgs> handler = (EventHandler <TemperatureEventArgs>)_listEventDelegates[_temperatureReachesEmergencyLevelKey]; if (handler != null) { handler(this, e); } }
protected void OnTemperatureFallsBelowWarningLevel(TemperatureEventArgs e) { EventHandler <TemperatureEventArgs> handler = (EventHandler <TemperatureEventArgs>)_listEventDelegates[_temperatureFallsBelowWarningLevelKey]; if (handler != null) { handler(this, e); } }
private void MonitorTemperature() { foreach (double temperature in _temperatureData) { Console.ResetColor(); Console.WriteLine($"DateTime: {DateTime.Now}, Temperature: {temperature}"); if (temperature >= _emergencyLevel) { TemperatureEventArgs e = new TemperatureEventArgs { Temperature = temperature, CurrentDateTime = DateTime.Now }; OnTemperatureReachesEmergencyLevel(e); } else if (temperature >= _warningLevel) { _hasReachedWarningTemperature = true; TemperatureEventArgs e = new TemperatureEventArgs { Temperature = temperature, CurrentDateTime = DateTime.Now }; OnTemperatureReachesWarningLevel(e); } else if (temperature < _warningLevel && _hasReachedWarningTemperature) { _hasReachedWarningTemperature = false; TemperatureEventArgs e = new TemperatureEventArgs { Temperature = temperature, CurrentDateTime = DateTime.Now }; OnTemperatureFallsBelowWarningLevel(e); } System.Threading.Thread.Sleep(1000); } }
private void HeatSensor_TemperatureReachesWarningLevelEventHandler(object sender, TemperatureEventArgs e) { Console.ForegroundColor = ConsoleColor.DarkYellow; Console.WriteLine(); Console.WriteLine($"Warning Alert!! (Warning level is between {_device.WarningTemperatureLevel} and {_device.EmergencyTemperatureLevel})"); _coolingMechanism.On(); Console.ResetColor(); }
private void HeatSensor_TemperatureFallsBelowWarningLevelEventHandler(object sender, TemperatureEventArgs e) { Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(); Console.WriteLine($"Information Alert!! Temperature falls below warning level (Warning level is between {_device.WarningTemperatureLevel} and {_device.EmergencyTemperatureLevel})"); _coolingMechanism.Off(); Console.ResetColor(); }
private void HeatSensor_TemperatureReachesEmergencyLevelEventHandler(object sender, TemperatureEventArgs e) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine(); Console.WriteLine($"Emergency Alert!! (Emergency level is {_device.EmergencyTemperatureLevel} and above)"); _device.HandleEmergency(); Console.ResetColor(); }