Пример #1
0
        public static bool TryParse(string input, out IPressure output)
        {
            #region Prepare Variables
            string capInput   = input.ToUpperInvariant();
            string extraction = input.ExtractNumberComponentFromMeasurementString();
            double conversion = 0;
            #endregion

            #region Convert To Double
            bool failed = !double.TryParse(extraction, out conversion);
            if (failed)
            {
                Debug.AddDetailMessage("Measurement Input not successfully converted.");
                Debug.AddDetailMessage("----" + capInput);
                output = new Pressures.Pascal(0);
                return(false);
            }
            #endregion
            #endregion
            #region Convert To Pressure
            if (capInput.EndsWithAny(Suffixes.Atmosphere))
            {
                output = new Pressures.Atmosphere(conversion);
                return(true);
            }
            if (capInput.EndsWithAny(Suffixes.Bar))
            {
                output = new Pressures.Bar(conversion);
                return(true);
            }
            if (capInput.EndsWithAny(Suffixes.KiloPascal))
            {
                output = new Pressures.KiloPascal(conversion);
                return(true);
            }
            if (capInput.EndsWithAny(Suffixes.MilliMeterOfMercury))
            {
                output = new Pressures.MilliMeterOfMercury(conversion);
                return(true);
            }
            if (capInput.EndsWithAny(Suffixes.Pascal))
            {
                output = new Pressures.Pascal(conversion);
                return(true);
            }
            if (capInput.EndsWithAny(Suffixes.PoundPerSquareInch))
            {
                output = new Pressures.PoundPerSquareInch(conversion);
                return(true);
            }
            #endregion
            #region ... Conversion
            #region Type Unrecognised
            Debug.AddDetailMessage("No Type for input Pressure conversion. Break here for details...");
            Debug.AddDetailMessage("----" + capInput);
            output = new Pressures.Pascal(0);
            return(false);

            #endregion
        }
 /// <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;
 }
Пример #3
0
        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 bool TryParse(string value, out IPressure output) => Pressure.TryParse(value, out output);
Пример #5
0
 public Millibars(IPressure pressure)
     : this(pressure.To <Millibars>().Value)
 {
 }
Пример #6
0
 public bool TryParse(string value, out IPressure output) => throw new NotImplementedException();
Пример #7
0
 public Calculator(ISpeed speed, ITemperature temperature, IPressure pressure)
 {
     _speed       = speed;
     _temperature = temperature;
     _pressure    = pressure;
 }
Пример #8
0
 public InchesOfMercury(IPressure pressure)
     : this(pressure.To <InchesOfMercury>().Value)
 {
 }
Пример #9
0
        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;
            }
        }
 public static bool TryParse(string value, out IPressure output) => objectFactory.TryParse(value, out output);
Пример #11
0
 public static T To <T>(this IPressure current)
     where T : IPressure, new()
 {
     return(current.FactorConvert <T>());
 }