Exemplo n.º 1
0
        private void ConvertTemperature()
        {
            ITemperatureType inputType = GetTemperatureType(inputGroupBox);

            inputSymbolLabel.Text = inputType.Symbol;

            ITemperatureType outputType = GetTemperatureType(outputGroupBox);

            string inputTextBoxText = inputTextBox.Text;

            if (double.TryParse(inputTextBoxText, out double inputTextBoxData))
            {
                double outputTypeData = Math.Round(TemperatureConverter.Convert(inputTextBoxData, inputType, outputType), 2);
                outputLabel.Text = string.Format("{0} {1}", outputTypeData, outputType.Symbol);
            }
            else
            {
                outputLabel.Text = outputType.Symbol;
            }
        }
Exemplo n.º 2
0
        private ITemperatureType GetTemperatureType(GroupBox groupBox)
        {
            foreach (Control control in groupBox.Controls)
            {
                if ((control as RadioButton).Checked)
                {
                    string radioButtonName = control.Name;

                    ITemperatureType type = inputTypes.FirstOrDefault(x => string.Concat(groupBox.Name, x.Name) == radioButtonName);

                    if (!Equals(type, null))
                    {
                        return(type);
                    }

                    return(outputTypes.FirstOrDefault(x => string.Concat(groupBox.Name, x.Name) == radioButtonName));
                }
            }

            return(null);
        }
Exemplo n.º 3
0
        public static double Convert(double inputData, ITemperatureType inputType, ITemperatureType outputType)
        {
            double celsius = inputType.ToCelsius(inputData);

            return(outputType.FromCelsius(celsius));
        }