public override void Update(object o)
        {
            Measurements current = (Measurements) o;
            Measurements newMeasurement = new Measurements();
            newMeasurement.UpdateMeasurements(current.Temperature, current.Humidity, current.Pressure);
            measureList.Add(newMeasurement);

            int averageTemperature = 0;
            int averageHumidity = 0;
            int averagePressure = 0;

            for(int i = 0; i < measureList.Count; i++)
            {
                averageTemperature += measureList[i].Temperature;
                averageHumidity += measureList[i].Humidity;
                averagePressure += measureList[i].Pressure;
            }

            averageTemperature = averageTemperature / measureList.Count;
            averageHumidity = averageHumidity / measureList.Count;
            averagePressure = averagePressure / measureList.Count;

            measurements.UpdateMeasurements(averageTemperature, averageHumidity, averagePressure);
        }
示例#2
0
 public WeatherSubject()
 {
     measurements = new Measurements();
     observerlist = new List <IWeatherObserver>();
 }
 public virtual void Update(object o)
 {
     measurements = (Measurements)o;
 }
 public WeatherObserver(IWeatherSubject weatherSubject)
 {
     measurements = new Measurements();
     weatherSubject.AddObserver(this);
 }
 public WeatherSubject()
 {
     measurements = new Measurements();
     observerlist = new List<IWeatherObserver>();
 }