ATMLDataAccessLibrary.db.daos.InstrumentDAO.DetermineHoLoValues C# (CSharp) Method

DetermineHoLoValues() private static method

private static DetermineHoLoValues ( string qualifier, object value, object &valueHi, object &valueLo ) : void
qualifier string
value object
valueHi object
valueLo object
return void
        private static void DetermineHoLoValues( string qualifier, object value, out object valueHi, out object valueLo )
        {
            valueLo = null;
            valueHi = null;

            if (!string.IsNullOrEmpty( qualifier ))
            {
                //--- If it is a string try to convert it to a double ---//
                if (value is string)
                {
                    double d;
                    if (double.TryParse( (string) value, out d ))
                        value = d;
                }

                if ("pk_pk".Equals( qualifier ))
                {
                    if (value is double)
                    {
                        double d = (double) value;
                        double pk = ( (double) value )/2;
                        valueHi = pk;
                        valueLo = pk - d;
                    }
                }
                else if ("pk".Equals( qualifier ))
                {
                    if (value is double)
                    {
                        double pk = (double) value;
                        valueHi = pk;
                        valueLo = pk - 2*pk;
                    }
                }
                else if ("pk_pos".Equals( qualifier ))
                {
                    if (value is double)
                    {
                        double pk = (double) value;
                        valueHi = pk;
                        valueLo = pk - 2*pk;
                    }
                }
                else if ("pk_neg".Equals( qualifier ))
                {
                    if (value is double)
                    {
                        double d = (double) value;
                        valueLo = d < 0 ? d : -1*d;
                        valueHi = d < 0 ? -1*d : d;
                    }
                }
                else if ("trms".Equals( qualifier ))
                {
                    if (value is double)
                    {
                        double d = (double) value;
                        double pk = .707*d;
                        valueHi = pk;
                        valueLo = -1*pk;
                    }
                }
                else if ("av".Equals( qualifier ))
                {
                    if (value is double)
                    {
                        double d = Math.Abs( (double) value );
                        double pk = d/.637;
                        valueHi = pk;
                        valueLo = -1*pk;
                    }
                }
            }

            if (valueLo == null)
                valueLo = value;
            if (valueHi == null)
                valueHi = value;
        }