/// <summary> /// Start broadcasting. /// </summary> public void StartNotify() { ConsoleKeyInfo keyInfo = new ConsoleKeyInfo(); Random rnd = new Random(); while (keyInfo.Key != ConsoleKey.Escape) { WeatherInfo weather = new WeatherInfo() { Temperature = rnd.Next(-30, 35), Humidity = rnd.Next(0, 99), Pressure = rnd.Next(0, 999), }; Console.Clear(); OnNewWeather(this, weather); Thread.Sleep(500); if (Console.KeyAvailable) { keyInfo = Console.ReadKey(); } } }
private void GenerateNewInfo() { int temperature = random.Next(0, 30); int humidity = random.Next(0, 100); int pressure = random.Next(0, 10000); _weatherInfo = new WeatherInfo(temperature, humidity, pressure); }
/// <summary> /// Notify observer about change of info. /// </summary> /// <param name="sender">Reference to sender.</param> /// <param name="info">Information.</param> protected virtual void OnNewWeather(object sender, WeatherInfo info) { if (ReferenceEquals(info, null)) { return; } NewWeather(this, info); }
/// <summary> /// Notify all subscribers about new state. /// </summary> /// <param name="sender">The element with new state.</param> /// <param name="info">The state.</param> protected virtual void Notify(WeatherInfo info) { NewMail(this, info); }