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"); } }
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"); } }