Beispiel #1
0
        public double lengthConvert()
        {
            double subresult = 0;
            double result    = 0;


            if (UnitValue < 0)
            {
                throw new NegativeValueException("Length cannot be negative");
            }
            else if (Enum.TryParse(Unit1ComboBoxValue.Replace(" ", "_"), out LengthEnum unit1ComboBoxValueEnum) && Enum.TryParse(Unit2ComboBoxValue.Replace(" ", "_"), out LengthEnum unit2ComboBoxValueEnum))
            {
                switch (unit1ComboBoxValueEnum)
                {
                case LengthEnum.Kilometre:
                    subresult = UnitValue * 1000;
                    break;

                case LengthEnum.Metre:
                    subresult = UnitValue;
                    break;

                case LengthEnum.Centimetre:
                    subresult = UnitValue * 0.01;
                    break;

                case LengthEnum.Millimetre:
                    subresult = UnitValue * 0.001;
                    break;

                case LengthEnum.Mile:
                    subresult = UnitValue * 1609.34;
                    break;

                case LengthEnum.Yard:
                    subresult = UnitValue * 0.9144;
                    break;

                case LengthEnum.Foot:
                    subresult = UnitValue * 0.3048;
                    break;

                case LengthEnum.Inch:
                    subresult = UnitValue * 0.0254;
                    break;

                case LengthEnum.Nautical_Mile:
                    subresult = UnitValue * 1852;
                    break;
                }

                switch (unit2ComboBoxValueEnum)
                {
                case LengthEnum.Kilometre:
                    result = subresult * 0.001;
                    break;

                case LengthEnum.Metre:
                    result = subresult;
                    break;

                case LengthEnum.Centimetre:
                    result = subresult * 100;
                    break;

                case LengthEnum.Millimetre:
                    result = subresult * 1000;
                    break;

                case LengthEnum.Mile:
                    result = subresult * 0.000621371;
                    break;

                case LengthEnum.Yard:
                    result = subresult * 1.09361;
                    break;

                case LengthEnum.Foot:
                    result = subresult * 3.28084;
                    break;

                case LengthEnum.Inch:
                    result = subresult * 39.3701;
                    break;

                case LengthEnum.Nautical_Mile:
                    result = subresult * 0.000539957;
                    break;
                }


                return(result);
            }
            else
            {
                throw new NegativeValueException("Error: Unexpected enum value");
            }
        }
Beispiel #2
0
        public double TemperatureConvert()
        {
            double subresult = 0;
            double result    = 0;

            if (Enum.TryParse(Unit1ComboBoxValue.Replace(" ", "_"), out TemperatureEnum unit1ComboBoxValueEnum) && Enum.TryParse(Unit2ComboBoxValue.Replace(" ", "_"), out TemperatureEnum unit2ComboBoxValueEnum))
            {
                switch (unit1ComboBoxValueEnum)
                {
                case TemperatureEnum.Celcius:
                    subresult = UnitValue;
                    break;

                case TemperatureEnum.Fahrenheit:
                    subresult = ((UnitValue - 32) * 0.556);
                    break;

                case TemperatureEnum.Kelvin:
                    subresult = UnitValue - 273.15;
                    break;
                }

                if (subresult < -273.15)
                {
                    throw new NegativeValueException("This temperature is below absolute zero");
                }

                switch (unit2ComboBoxValueEnum)
                {
                case TemperatureEnum.Celcius:
                    result = subresult;
                    break;

                case TemperatureEnum.Fahrenheit:
                    result = ((subresult * 1.8) + 32);
                    break;

                case TemperatureEnum.Kelvin:
                    result = subresult + 273.15;
                    break;
                }


                return(result);
            }
            else
            {
                throw new NegativeValueException("Error: Unexpected enum value");
            }
        }