public MainViewModel(IAccelerometer accelerometer = null, IGyroscope gyroscope = null, IMagnetometer magnetometer = null, ICompass compass = null, IAmbientLight ambientLight = null, IBarometer barometer = null, IPedometer pedometer = null, IProximity proximity = null, IHeartRateMonitor heartRate = null, IHumidity humidity = null, ITemperature temperature = null) { this.Sensors = new List <ISensorViewModel>(); this.AddIf(accelerometer, "G"); this.AddIf(gyroscope, "G"); this.AddIf(magnetometer, "M"); this.AddIf(compass, "D"); this.AddIf(ambientLight, "Light"); this.AddIf(barometer, "Pressure"); this.AddIf(pedometer, "Steps"); this.AddIf(proximity, "Near"); this.AddIf(heartRate, "Heart Rate (bpm)"); this.AddIf(humidity, "Humidity"); this.AddIf(temperature, "Temp"); }
/// <summary> /// Initializes a new instance of the <see cref="WeatherReport"/> class. /// </summary> /// <param name="time">The value of time.</param> /// <param name="temperature">The value of temperature.</param> /// <param name="pressure">The value of atmospheric pressure.</param> /// <param name="humidity">The value of humidity.</param> /// <param name="wind">The value of wind.</param> /// <param name="cloudiness">The value of cloudiness.</param> /// <param name="precipitation">The value of precipitation.</param> public WeatherReport( DateTime time, ITemperature temperature, IPressure pressure, IHumidity humidity, IWind wind, ICloudiness cloudiness, IPrecipitation precipitation) { this.Time = time; this.Temperature = temperature; this.Pressure = pressure; this.Humidity = humidity; this.Wind = wind; this.Cloudiness = cloudiness; this.Precipitation = precipitation; }
public void GetAllDataByType(char typeOfSensor) { switch (typeOfSensor) { case 't': foreach (Sensor sensor in sensors) { if (sensor is ITemperature) { ITemperature ts = sensor as ITemperature; ts.Unit = unit; Console.WriteLine("{0}: {1} {2}", sensor.Name, ts.Temperature, ts.Unit); } } break; case 'h': foreach (Sensor sensor in sensors) { if (sensor is IHumidity) { IHumidity hs = sensor as IHumidity; Console.WriteLine("{0}: {1}%", sensor.Name, hs.Humidity); } } break; case 'p': foreach (Sensor sensor in sensors) { if (sensor is IPressure) { IPressure ps = sensor as IPressure; Console.WriteLine("{0}: {1} hPA", sensor.Name, ps.Pressure); } } break; default: throw new Exception("Wrong switch case!"); } }
public void GetSpecifiedData(string type, string comparsionString, double value) { IsGreaterThanValue = x => x > value; IsLowerThanValue = x => x < value; Console.WriteLine(type + " " + comparsionString + " " + value); switch (type) { case "t": foreach (Sensor sensor in sensors) { if (sensor is ITemperature) { ITemperature ts = sensor as ITemperature; if (comparsionString.Equals(">")) { if (IsGreaterThanValue(ts.Temperature)) { Console.WriteLine("{0}: {1} {2}", sensor.Name, ts.Temperature, ts.Unit); } } else { if (IsLowerThanValue(ts.Temperature)) { Console.WriteLine("{0}: {1} {2}", sensor.Name, ts.Temperature, ts.Unit); } } } } break; case "h": foreach (Sensor sensor in sensors) { if (sensor is IHumidity) { IHumidity hs = sensor as IHumidity; if (comparsionString.Equals(">")) { if (IsGreaterThanValue(hs.Humidity)) { Console.WriteLine("{0}: {1}%", sensor.Name, hs.Humidity); } } else { if (IsLowerThanValue(hs.Humidity)) { Console.WriteLine("{0}: {1}%", sensor.Name, hs.Humidity); } } } } break; case "p": foreach (Sensor sensor in sensors) { if (sensor is IPressure) { IPressure ps = sensor as IPressure; if (comparsionString.Equals(">")) { if (IsGreaterThanValue(ps.Pressure)) { Console.WriteLine("{0}: {1} hPa", sensor.Name, ps.Pressure); } } else { if (IsLowerThanValue(ps.Pressure)) { Console.WriteLine("{0}: {1} hPA", sensor.Name, ps.Pressure); } } } } break; } }