Ejemplo n.º 1
0
 private static void WriteRow(StringBuilder targetText, MovementRow row)
 {
     targetText
     .Append(row.DateTime + ",")
     .Append(row.Movement + ",")
     .Append(row.Noise + ",")
     .AppendLine();
 }
Ejemplo n.º 2
0
        private static void ReadRow(string[] lines, int i, List <MovementRow> rows)
        {
            try
            {
                var reader = new Reader();

                var line = lines[i];

                if (!line.StartsWith("Id,"))
                {
                    return;
                }

                var date = reader.GetDateTime(lines, i + 1, FromIndex).Date;

                var fields = line.Split(',');

                var lastTime = new DateTime();

                for (var j = RawDataIndex; j < fields.Length; j++)
                {
                    var columnName = reader.GetString(lines, i, j);

                    if (columnName == "Event")
                    {
                        continue;
                    }

                    var time = DateTime.ParseExact(columnName, "H:mm", null);

                    if (time < lastTime)
                    {
                        date = date.AddDays(1);
                    }

                    lastTime = time;

                    var dateTime = date.Add(time.TimeOfDay);

                    var row = new MovementRow();

                    row.DateTime = dateTime;

                    row.Movement = reader.GetFloat(lines, i + 1, j);

                    if (HasNoiseData(lines, i + 2, j))
                    {
                        row.Noise = reader.GetFloat(lines, i + 2, j);
                    }

                    rows.Add(row);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("ERROR: Failed to load row {0} due to the following error: /r/n {1}", i, ex.Message);
            }
        }