private DataPoint CreateDataPoint(TimeSeriesValueType valueType, DateTime timestamp, string value)
        {
            DataPoint dataPoint;

            switch (valueType)
            {
            case TimeSeriesValueType.Float:
                float floatValue = float.Parse(value, CultureInfo.InvariantCulture);
                dataPoint = new DataPoint <float>(timestamp, floatValue);
                break;

            default:
                throw new NotImplementedException($"value type {valueType} not implemented!");
            }

            return(dataPoint);
        }
        public List <DataPoint> ParseQueryResult(string queryResult, TimeSeriesValueType valueType)
        {
            List <DataPoint> dataPoints = new List <DataPoint>();

            List <string> lines = SplitIntoLines(queryResult);

            int indexTime  = GetCsvIndex("_time", lines[0]);
            int indexValue = GetCsvIndex("_value", lines[0]);

            for (int i = 1; i < lines.Count; i++)
            {
                var csvFields = SplitCsv(lines[i]);

                DateTime timestamp = DateTime.Parse(csvFields[indexTime]);
                string   value     = csvFields[indexValue];

                DataPoint dataPoint = CreateDataPoint(valueType, timestamp, value);
                dataPoints.Add(dataPoint);
            }

            return(dataPoints);
        }