public bool Load(string filePath) { FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(fs); string line = sr.ReadLine(); if (!line.Contains("Time")) { return(false); } List <MeassurePoint> allData = new List <MeassurePoint>(); while (!sr.EndOfStream) { MeassurePoint mp = MeassurePoint.Load(sr); allData.Add(mp); } List <MeassurePoint> startPoints = (from mp in allData where mp.TotalMinutes == 0 select mp).ToList(); ///split stages StageData currentStage = null; foreach (MeassurePoint mp in allData) { if (startPoints.Contains(mp)) { currentStage = new StageData(); stagesData.Add(currentStage); } currentStage.Add(mp); } foreach (StageData stage in stagesData) { stage.ProcessData(); } return(true); }