private Highcharts BuildAreaSplineChart(XAndYAxisArrayContainer chartData, string chartTitle, string yAxisTitle)
        {
            Highcharts chart = new Highcharts(GenerateChartName(chartTitle))
                .InitChart(new Chart { DefaultSeriesType = ChartTypes.Areaspline })
                .SetTitle(new Title { Text = string.Empty })
                .SetLegend(new Legend { Enabled = false })
                .SetXAxis(new XAxis { Categories = chartData.XAxis })
                .SetYAxis(new YAxis { Title = new YAxisTitle { Text = yAxisTitle } })
                .SetTooltip(new Tooltip { Formatter = "function() { return ''+ this.x +': '+ this.y + ' WIs Remaining'; }" })
                .SetCredits(new Credits { Enabled = false })
                .SetPlotOptions(new PlotOptions { Areaspline = new PlotOptionsAreaspline { FillOpacity = 0.5 } })
                .SetSeries(new[] { new Series { Data = new Data(chartData.YAxis) } });

            return chart;
        }
        private Highcharts BuildColumnChart(XAndYAxisArrayContainer chartData, string chartTitle, string yAxisTitle)
        {
            Highcharts chart = new Highcharts(GenerateChartName(chartTitle))
                .InitChart(new Chart { DefaultSeriesType = ChartTypes.Column })
                .SetTitle(new Title { Text = string.Empty })
                .SetXAxis(new XAxis { Categories = chartData.XAxis })
                .SetYAxis(new YAxis
                {
                    Min = 0,
                    Title = new YAxisTitle { Text = yAxisTitle }
                })
                .SetLegend(new Legend { Enabled = false })
                .SetTooltip(new Tooltip { Formatter = @"function() { return ''+ this.x +': '+ this.y +' WIs'; }" })
                .SetPlotOptions(new PlotOptions
                {
                    Column = new PlotOptionsColumn
                    {
                        PointPadding = 0.1,
                        BorderWidth = 0
                    }
                })
                .SetSeries(new[] { new Series { Data = new Data(chartData.YAxis) } });

            return chart;
        }
        private XAndYAxisArrayContainer ConvertToXAndYAxisArrays(IEnumerable<ChartValue> chartValues)
        {
            XAndYAxisArrayContainer xAndYAxisArrayContainer = new XAndYAxisArrayContainer();

            xAndYAxisArrayContainer.XAxis = BuildNameStringArray(chartValues);
            xAndYAxisArrayContainer.YAxis = BuildValueObjectArray(chartValues);

            return xAndYAxisArrayContainer;
        }