private List<ComplexDataset> GenerateDataSets(GraphWithDescriptionModel data)
 {
     return new List<ComplexDataset>
     {
         new ComplexDataset
         {
             Data = data.GraphData.Select(t => Convert.ToDouble(t.Value)).ToList(),
             Label = data.Description,
             FillColor = ColorGeneratorConstants.Transparent,
             StrokeColor = this._colorGenerator.GenerateColor(),
             PointColor = ColorGeneratorConstants.Black,
             PointStrokeColor = ColorGeneratorConstants.White,
             PointHighlightFill = ColorGeneratorConstants.White,
             PointHighlightStroke = ColorGeneratorConstants.Black
         }
     };
 }
        private LineChart GenerateLineChart(GraphWithDescriptionModel data)
        {
            // check if  enough data for line chart (with one point the chart is broken)
            if (data.GraphData.Count < 2)
            {
                return null;
            }
            var lineChart = new LineChart
            {
                ComplexData =
                {
                    Labels = data.GraphData.Select(graphData => graphData.Label).ToList(),
                    Datasets = this.GenerateDataSets(data)
                }
            };
            // graph settings for dynamic charts
            lineChart.ChartConfiguration.ScaleBeginAtZero = false;
            lineChart.ChartConfiguration.Responsive = true;
            lineChart.ChartConfiguration.BezierCurve = false;
            lineChart.ChartConfiguration.PointHitDetectionRadius = 1;

            return lineChart;
        }