Smrf.NodeXL.ExcelTemplate.NumericRangeColumnAutoFillUserSettingsTypeConverter.ConvertFrom C# (CSharp) Method

ConvertFrom() public method

public ConvertFrom ( ITypeDescriptorContext context, CultureInfo culture, Object value ) : Object
context ITypeDescriptorContext
culture System.Globalization.CultureInfo
value Object
return Object
    ConvertFrom
    (
        ITypeDescriptorContext context,
        CultureInfo culture,
        Object value
    )
    {
        Debug.Assert(value != null);
        Debug.Assert(value is String);
        AssertValid();

        NumericRangeColumnAutoFillUserSettings
            oNumericRangeColumnAutoFillUserSettings =
            new NumericRangeColumnAutoFillUserSettings();

        String [] asStrings = ( (String)value ).Split( new Char[] {'\t'} );

        Debug.Assert(asStrings.Length >= 7);

        oNumericRangeColumnAutoFillUserSettings.UseSourceNumber1 =
            Boolean.Parse( asStrings[0] );

        oNumericRangeColumnAutoFillUserSettings.UseSourceNumber2 =
            Boolean.Parse( asStrings[1] );

        oNumericRangeColumnAutoFillUserSettings.SourceNumber1 =
            MathUtil.ParseCultureInvariantDouble( asStrings[2] );

        oNumericRangeColumnAutoFillUserSettings.SourceNumber2 =
            MathUtil.ParseCultureInvariantDouble(asStrings[3]);

        oNumericRangeColumnAutoFillUserSettings.DestinationNumber1 =
            MathUtil.ParseCultureInvariantDouble(asStrings[4]);

        oNumericRangeColumnAutoFillUserSettings.DestinationNumber2 =
            MathUtil.ParseCultureInvariantDouble(asStrings[5]);

        oNumericRangeColumnAutoFillUserSettings.IgnoreOutliers =
            Boolean.Parse( asStrings[6] );

        // The UseLogs property wasn't added until NodeXL version 1.0.1.92.

        oNumericRangeColumnAutoFillUserSettings.UseLogs =
            (asStrings.Length > 7) ? Boolean.Parse( asStrings[7] ) : false;

        return (oNumericRangeColumnAutoFillUserSettings);
    }