public void AddDataPoint(ChartDataPoint dataPoint)
 {
     if (!this.CategoryData.ContainsKey(dataPoint.CategoryKey))
     {
         _category.Add(dataPoint.CategoryKey, new List<ChartDataPoint>());
     }
     if (!this.SeriesData.ContainsKey(dataPoint.SeriesKey))
     {
         _series.Add(dataPoint.SeriesKey, new List<ChartDataPoint>());
     }
     if (!this.DataPoints.ContainsKey(dataPoint.CategoryKey))
     {
         _dataPoints.Add(dataPoint.CategoryKey, new Dictionary<string, ChartDataPoint>());
     }
     _category[dataPoint.CategoryKey].Add(dataPoint);
     _series[dataPoint.SeriesKey].Add(dataPoint);
     _dataPoints[dataPoint.CategoryKey].Add(dataPoint.SeriesKey, dataPoint);
 }
 public bool RemoveDataPoint(ChartDataPoint dataPoint)
 {
     return (_category[dataPoint.CategoryKey].Remove(dataPoint)) && (_series[dataPoint.SeriesKey].Remove(dataPoint));
 }