internal override Hashtable ToHashtable()
        {
            Hashtable hashtables                   = new Hashtable();
            bool?     allowPointSelect             = this.AllowPointSelect;
            bool?     allowPointSelectDefaultValue = this.AllowPointSelect_DefaultValue;

            if ((allowPointSelect.GetValueOrDefault() == allowPointSelectDefaultValue.GetValueOrDefault() ? allowPointSelect.HasValue != allowPointSelectDefaultValue.HasValue : true))
            {
                hashtables.Add("allowPointSelect", this.AllowPointSelect);
            }
            if (this.Animation.IsDirty())
            {
                hashtables.Add("animation", this.Animation.ToJSON());
            }
            double?animationLimit             = this.AnimationLimit;
            double?animationLimitDefaultValue = this.AnimationLimit_DefaultValue;

            if ((animationLimit.GetValueOrDefault() == animationLimitDefaultValue.GetValueOrDefault() ? animationLimit.HasValue != animationLimitDefaultValue.HasValue : true))
            {
                hashtables.Add("animationLimit", this.AnimationLimit);
            }
            if (this.ClassName != this.ClassName_DefaultValue)
            {
                hashtables.Add("className", this.ClassName);
            }
            if (this.Color != this.Color_DefaultValue)
            {
                hashtables.Add("color", this.Color);
            }
            animationLimitDefaultValue = this.ColorIndex;
            animationLimit             = this.ColorIndex_DefaultValue;
            if ((animationLimitDefaultValue.GetValueOrDefault() == animationLimit.GetValueOrDefault() ? animationLimitDefaultValue.HasValue != animationLimit.HasValue : true))
            {
                hashtables.Add("colorIndex", this.ColorIndex);
            }
            allowPointSelectDefaultValue = this.ConnectEnds;
            allowPointSelect             = this.ConnectEnds_DefaultValue;
            if ((allowPointSelectDefaultValue.GetValueOrDefault() == allowPointSelect.GetValueOrDefault() ? allowPointSelectDefaultValue.HasValue != allowPointSelect.HasValue : true))
            {
                hashtables.Add("connectEnds", this.ConnectEnds);
            }
            allowPointSelect             = this.ConnectNulls;
            allowPointSelectDefaultValue = this.ConnectNulls_DefaultValue;
            if ((allowPointSelect.GetValueOrDefault() == allowPointSelectDefaultValue.GetValueOrDefault() ? allowPointSelect.HasValue != allowPointSelectDefaultValue.HasValue : true))
            {
                hashtables.Add("connectNulls", this.ConnectNulls);
            }
            animationLimit             = this.CropThreshold;
            animationLimitDefaultValue = this.CropThreshold_DefaultValue;
            if ((animationLimit.GetValueOrDefault() == animationLimitDefaultValue.GetValueOrDefault() ? animationLimit.HasValue != animationLimitDefaultValue.HasValue : true))
            {
                hashtables.Add("cropThreshold", this.CropThreshold);
            }
            if (this.Cursor != this.Cursor_DefaultValue)
            {
                PlotOptionsSplineCursor cursor = this.Cursor;
                hashtables.Add("cursor", Highcharts.FirstCharacterToLower(cursor.ToString()));
            }
            if (this.DashStyle != this.DashStyle_DefaultValue)
            {
                PlotOptionsSplineDashStyle dashStyle = this.DashStyle;
                hashtables.Add("dashStyle", Highcharts.FirstCharacterToLower(dashStyle.ToString()));
            }
            if (this.DataLabels.IsDirty())
            {
                hashtables.Add("dataLabels", this.DataLabels.ToHashtable());
            }
            if (this.Description != this.Description_DefaultValue)
            {
                hashtables.Add("description", this.Description);
            }
            allowPointSelectDefaultValue = this.EnableMouseTracking;
            allowPointSelect             = this.EnableMouseTracking_DefaultValue;
            if ((allowPointSelectDefaultValue.GetValueOrDefault() == allowPointSelect.GetValueOrDefault() ? allowPointSelectDefaultValue.HasValue != allowPointSelect.HasValue : true))
            {
                hashtables.Add("enableMouseTracking", this.EnableMouseTracking);
            }
            if (this.Events.IsDirty())
            {
                hashtables.Add("events", this.Events.ToHashtable());
            }
            allowPointSelect             = this.GetExtremesFromAll;
            allowPointSelectDefaultValue = this.GetExtremesFromAll_DefaultValue;
            if ((allowPointSelect.GetValueOrDefault() == allowPointSelectDefaultValue.GetValueOrDefault() ? allowPointSelect.HasValue != allowPointSelectDefaultValue.HasValue : true))
            {
                hashtables.Add("getExtremesFromAll", this.GetExtremesFromAll);
            }
            if (this.Keys != this.Keys_DefaultValue)
            {
                hashtables.Add("keys", this.Keys);
            }
            animationLimitDefaultValue = this.LineWidth;
            animationLimit             = this.LineWidth_DefaultValue;
            if ((animationLimitDefaultValue.GetValueOrDefault() == animationLimit.GetValueOrDefault() ? animationLimitDefaultValue.HasValue != animationLimit.HasValue : true))
            {
                hashtables.Add("lineWidth", this.LineWidth);
            }
            if (this.Linecap != this.Linecap_DefaultValue)
            {
                PlotOptionsSplineLinecap linecap = this.Linecap;
                hashtables.Add("linecap", Highcharts.FirstCharacterToLower(linecap.ToString()));
            }
            if (this.LinkedTo != this.LinkedTo_DefaultValue)
            {
                hashtables.Add("linkedTo", this.LinkedTo);
            }
            if (this.Marker.IsDirty())
            {
                hashtables.Add("marker", this.Marker.ToHashtable());
            }
            if (this.NegativeColor != this.NegativeColor_DefaultValue)
            {
                hashtables.Add("negativeColor", this.NegativeColor);
            }
            if (this.Point.IsDirty())
            {
                hashtables.Add("point", this.Point.ToHashtable());
            }
            animationLimit             = this.PointInterval;
            animationLimitDefaultValue = this.PointInterval_DefaultValue;
            if ((animationLimit.GetValueOrDefault() == animationLimitDefaultValue.GetValueOrDefault() ? animationLimit.HasValue != animationLimitDefaultValue.HasValue : true))
            {
                hashtables.Add("pointInterval", this.PointInterval);
            }
            if (this.PointIntervalUnit != this.PointIntervalUnit_DefaultValue)
            {
                PlotOptionsSplinePointIntervalUnit pointIntervalUnit = this.PointIntervalUnit;
                hashtables.Add("pointIntervalUnit", Highcharts.FirstCharacterToLower(pointIntervalUnit.ToString()));
            }
            if (this.PointPlacement.IsDirty())
            {
                hashtables.Add("pointPlacement", this.PointPlacement.ToJSON());
            }
            animationLimitDefaultValue = this.PointStart;
            animationLimit             = this.PointStart_DefaultValue;
            if ((animationLimitDefaultValue.GetValueOrDefault() == animationLimit.GetValueOrDefault() ? animationLimitDefaultValue.HasValue != animationLimit.HasValue : true))
            {
                hashtables.Add("pointStart", this.PointStart);
            }
            allowPointSelectDefaultValue = this.Selected;
            allowPointSelect             = this.Selected_DefaultValue;
            if ((allowPointSelectDefaultValue.GetValueOrDefault() == allowPointSelect.GetValueOrDefault() ? allowPointSelectDefaultValue.HasValue != allowPointSelect.HasValue : true))
            {
                hashtables.Add("selected", this.Selected);
            }
            if (this.Shadow != this.Shadow_DefaultValue)
            {
                hashtables.Add("shadow", this.Shadow);
            }
            allowPointSelect             = this.ShowCheckbox;
            allowPointSelectDefaultValue = this.ShowCheckbox_DefaultValue;
            if ((allowPointSelect.GetValueOrDefault() == allowPointSelectDefaultValue.GetValueOrDefault() ? allowPointSelect.HasValue != allowPointSelectDefaultValue.HasValue : true))
            {
                hashtables.Add("showCheckbox", this.ShowCheckbox);
            }
            allowPointSelectDefaultValue = this.ShowInLegend;
            allowPointSelect             = this.ShowInLegend_DefaultValue;
            if ((allowPointSelectDefaultValue.GetValueOrDefault() == allowPointSelect.GetValueOrDefault() ? allowPointSelectDefaultValue.HasValue != allowPointSelect.HasValue : true))
            {
                hashtables.Add("showInLegend", this.ShowInLegend);
            }
            allowPointSelect             = this.SoftThreshold;
            allowPointSelectDefaultValue = this.SoftThreshold_DefaultValue;
            if ((allowPointSelect.GetValueOrDefault() == allowPointSelectDefaultValue.GetValueOrDefault() ? allowPointSelect.HasValue != allowPointSelectDefaultValue.HasValue : true))
            {
                hashtables.Add("softThreshold", this.SoftThreshold);
            }
            if (this.Stacking != this.Stacking_DefaultValue)
            {
                PlotOptionsSplineStacking stacking = this.Stacking;
                hashtables.Add("stacking", Highcharts.FirstCharacterToLower(stacking.ToString()));
            }
            if (this.States.IsDirty())
            {
                hashtables.Add("states", this.States.ToHashtable());
            }
            allowPointSelectDefaultValue = this.StickyTracking;
            allowPointSelect             = this.StickyTracking_DefaultValue;
            if ((allowPointSelectDefaultValue.GetValueOrDefault() == allowPointSelect.GetValueOrDefault() ? allowPointSelectDefaultValue.HasValue != allowPointSelect.HasValue : true))
            {
                hashtables.Add("stickyTracking", this.StickyTracking);
            }
            animationLimit             = this.Threshold;
            animationLimitDefaultValue = this.Threshold_DefaultValue;
            if ((animationLimit.GetValueOrDefault() == animationLimitDefaultValue.GetValueOrDefault() ? animationLimit.HasValue != animationLimitDefaultValue.HasValue : true))
            {
                hashtables.Add("threshold", this.Threshold);
            }
            if (this.Tooltip.IsDirty())
            {
                hashtables.Add("tooltip", this.Tooltip.ToHashtable());
            }
            animationLimitDefaultValue = this.TurboThreshold;
            animationLimit             = this.TurboThreshold_DefaultValue;
            if ((animationLimitDefaultValue.GetValueOrDefault() == animationLimit.GetValueOrDefault() ? animationLimitDefaultValue.HasValue != animationLimit.HasValue : true))
            {
                hashtables.Add("turboThreshold", this.TurboThreshold);
            }
            allowPointSelect             = this.Visible;
            allowPointSelectDefaultValue = this.Visible_DefaultValue;
            if ((allowPointSelect.GetValueOrDefault() == allowPointSelectDefaultValue.GetValueOrDefault() ? allowPointSelect.HasValue != allowPointSelectDefaultValue.HasValue : true))
            {
                hashtables.Add("visible", this.Visible);
            }
            if (this.ZoneAxis != this.ZoneAxis_DefaultValue)
            {
                hashtables.Add("zoneAxis", this.ZoneAxis);
            }
            if (this.Zones.IsDirty())
            {
                hashtables.Add("zones", this.Zones.ToHashtable());
            }
            return(hashtables);
        }
        public PlotOptionsSpline()
        {
            bool?nullable = new bool?(false);

            this.AllowPointSelect_DefaultValue = nullable;
            this.AllowPointSelect = nullable;
            Highsoft.Web.Mvc.Charts.Animation animation = new Highsoft.Web.Mvc.Charts.Animation()
            {
                Enabled = true
            };
            Highsoft.Web.Mvc.Charts.Animation animation1 = animation;
            this.Animation_DefaultValue = animation;
            this.Animation = animation1;
            double?nullable1 = null;

            this.AnimationLimit_DefaultValue = nullable1;
            this.AnimationLimit = nullable1;
            string str  = "";
            string str1 = str;

            this.ClassName_DefaultValue = str;
            this.ClassName = str1;
            object obj = null;

            str1 = (string)obj;
            this.Color_DefaultValue = (string)obj;
            this.Color = str1;
            nullable1  = null;
            this.ColorIndex_DefaultValue = nullable1;
            this.ColorIndex = nullable1;
            nullable        = new bool?(true);
            this.ConnectEnds_DefaultValue = nullable;
            this.ConnectEnds = nullable;
            nullable         = new bool?(false);
            this.ConnectNulls_DefaultValue = nullable;
            this.ConnectNulls = nullable;
            nullable1         = new double?((double)300);
            this.CropThreshold_DefaultValue = nullable1;
            this.CropThreshold = nullable1;
            int num = 0;
            PlotOptionsSplineCursor plotOptionsSplineCursor = (PlotOptionsSplineCursor)num;

            this.Cursor_DefaultValue = (PlotOptionsSplineCursor)num;
            this.Cursor = plotOptionsSplineCursor;
            int num1 = 0;
            PlotOptionsSplineDashStyle plotOptionsSplineDashStyle = (PlotOptionsSplineDashStyle)num1;

            this.DashStyle_DefaultValue = (PlotOptionsSplineDashStyle)num1;
            this.DashStyle = plotOptionsSplineDashStyle;
            PlotOptionsSplineDataLabels plotOptionsSplineDataLabel  = new PlotOptionsSplineDataLabels();
            PlotOptionsSplineDataLabels plotOptionsSplineDataLabel1 = plotOptionsSplineDataLabel;

            this.DataLabels_DefaultValue = plotOptionsSplineDataLabel;
            this.DataLabels = plotOptionsSplineDataLabel1;
            string str2 = "undefined";

            str1 = str2;
            this.Description_DefaultValue = str2;
            this.Description = str1;
            nullable         = new bool?(true);
            this.EnableMouseTracking_DefaultValue = nullable;
            this.EnableMouseTracking = nullable;
            PlotOptionsSplineEvents plotOptionsSplineEvent  = new PlotOptionsSplineEvents();
            PlotOptionsSplineEvents plotOptionsSplineEvent1 = plotOptionsSplineEvent;

            this.Events_DefaultValue = plotOptionsSplineEvent;
            this.Events = plotOptionsSplineEvent1;
            nullable    = new bool?(false);
            this.GetExtremesFromAll_DefaultValue = nullable;
            this.GetExtremesFromAll = nullable;
            List <string> strs  = new List <string>();
            List <string> strs1 = strs;

            this.Keys_DefaultValue = strs;
            this.Keys = strs1;
            nullable1 = new double?((double)2);
            this.LineWidth_DefaultValue = nullable1;
            this.LineWidth = nullable1;
            int num2 = 0;
            PlotOptionsSplineLinecap plotOptionsSplineLinecap = (PlotOptionsSplineLinecap)num2;

            this.Linecap_DefaultValue = (PlotOptionsSplineLinecap)num2;
            this.Linecap = plotOptionsSplineLinecap;
            string str3 = "";

            str1 = str3;
            this.LinkedTo_DefaultValue = str3;
            this.LinkedTo = str1;
            PlotOptionsSplineMarker plotOptionsSplineMarker  = new PlotOptionsSplineMarker();
            PlotOptionsSplineMarker plotOptionsSplineMarker1 = plotOptionsSplineMarker;

            this.Marker_DefaultValue = plotOptionsSplineMarker;
            this.Marker = plotOptionsSplineMarker1;
            string str4 = "null";

            str1 = str4;
            this.NegativeColor_DefaultValue = str4;
            this.NegativeColor = str1;
            PlotOptionsSplinePoint plotOptionsSplinePoint  = new PlotOptionsSplinePoint();
            PlotOptionsSplinePoint plotOptionsSplinePoint1 = plotOptionsSplinePoint;

            this.Point_DefaultValue = plotOptionsSplinePoint;
            this.Point = plotOptionsSplinePoint1;
            nullable1  = new double?((double)1);
            this.PointInterval_DefaultValue = nullable1;
            this.PointInterval = nullable1;
            int num3 = 0;
            PlotOptionsSplinePointIntervalUnit plotOptionsSplinePointIntervalUnit = (PlotOptionsSplinePointIntervalUnit)num3;

            this.PointIntervalUnit_DefaultValue = (PlotOptionsSplinePointIntervalUnit)num3;
            this.PointIntervalUnit = plotOptionsSplinePointIntervalUnit;
            Highsoft.Web.Mvc.Charts.PointPlacement pointPlacement  = new Highsoft.Web.Mvc.Charts.PointPlacement();
            Highsoft.Web.Mvc.Charts.PointPlacement pointPlacement1 = pointPlacement;
            this.PointPlacement_DefaultValue = pointPlacement;
            this.PointPlacement          = pointPlacement1;
            nullable1                    = new double?(0);
            this.PointStart_DefaultValue = nullable1;
            this.PointStart              = nullable1;
            nullable = new bool?(false);
            this.Selected_DefaultValue = nullable;
            this.Selected = nullable;
            Highsoft.Web.Mvc.Charts.Shadow shadow = new Highsoft.Web.Mvc.Charts.Shadow()
            {
                Enabled = false
            };
            Highsoft.Web.Mvc.Charts.Shadow shadow1 = shadow;
            this.Shadow_DefaultValue = shadow;
            this.Shadow = shadow1;
            nullable    = new bool?(false);
            this.ShowCheckbox_DefaultValue = nullable;
            this.ShowCheckbox = nullable;
            nullable          = new bool?(true);
            this.ShowInLegend_DefaultValue = nullable;
            this.ShowInLegend = nullable;
            nullable          = new bool?(true);
            this.SoftThreshold_DefaultValue = nullable;
            this.SoftThreshold = nullable;
            int num4 = 0;
            PlotOptionsSplineStacking plotOptionsSplineStacking = (PlotOptionsSplineStacking)num4;

            this.Stacking_DefaultValue = (PlotOptionsSplineStacking)num4;
            this.Stacking = plotOptionsSplineStacking;
            PlotOptionsSplineStates plotOptionsSplineState  = new PlotOptionsSplineStates();
            PlotOptionsSplineStates plotOptionsSplineState1 = plotOptionsSplineState;

            this.States_DefaultValue = plotOptionsSplineState;
            this.States = plotOptionsSplineState1;
            nullable    = new bool?(true);
            this.StickyTracking_DefaultValue = nullable;
            this.StickyTracking         = nullable;
            nullable1                   = new double?(0);
            this.Threshold_DefaultValue = nullable1;
            this.Threshold              = nullable1;
            PlotOptionsSplineTooltip plotOptionsSplineTooltip  = new PlotOptionsSplineTooltip();
            PlotOptionsSplineTooltip plotOptionsSplineTooltip1 = plotOptionsSplineTooltip;

            this.Tooltip_DefaultValue = plotOptionsSplineTooltip;
            this.Tooltip = plotOptionsSplineTooltip1;
            nullable1    = new double?((double)1000);
            this.TurboThreshold_DefaultValue = nullable1;
            this.TurboThreshold       = nullable1;
            nullable                  = new bool?(true);
            this.Visible_DefaultValue = nullable;
            this.Visible              = nullable;
            string str5 = "y";

            str1 = str5;
            this.ZoneAxis_DefaultValue = str5;
            this.ZoneAxis = str1;
            PlotOptionsSplineZones plotOptionsSplineZone  = new PlotOptionsSplineZones();
            PlotOptionsSplineZones plotOptionsSplineZone1 = plotOptionsSplineZone;

            this.Zones_DefaultValue = plotOptionsSplineZone;
            this.Zones = plotOptionsSplineZone1;
        }