ielcoro
12/23/2016 - 9:29 AM

ParseCsv

ParseCsv

using (var reader = new CsvReader(
                                     new StreamReader(
                                     await storageManager.Read(message.PackagePath, asset.Name)),
                                     new CsvConfiguration()
                                     {
                                         Delimiter = "\t",
                                     }))
            {
                while (reader.Read())
                {
                    var period = new HistoryDetail();

                    period.Date = DateTime.Parse(reader.GetField<string>("yyyy-mm-dd"));
                    period.Hour = TimeSpan.Parse(reader.GetField<string>("hh:mm"));

                    var energy = reader.GetField<int?>("Energy");

                    int? price = null;
                    if (reader.FieldHeaders.Any(f => f == "Price"))
                     price = reader.GetField<int?>("Price");

                    period.Value = JsonConvert.SerializeObject(new
                    {
                        energy,
                        price
                    });

                    periods.Add(period);
                }
            }