private static List <StationStat> GetStats(StreamReader reader) { HtmlDocument document = new HtmlDocument(); document.Load(reader); List <StationStat> stats = new List <StationStat>(); var nodes = new List <HtmlNode>(); GetNodesRecursive(document.DocumentNode, nodes); foreach (var node in nodes) { try { StationStat stat = ParseRowToStat(node); stats.Add(stat); } catch (InvalidCastException e) { Debug.WriteLine(e.Message); } catch (FormatException e) { Debug.WriteLine(e.Message); } catch (Exception e) { Debug.WriteLine(e.Message); } } return(stats); }
private static StationStat ParseRowToStat(HtmlNode node) { StationStat stat = new StationStat(); var statStrings = node.ChildNodes.Select(x => x.InnerText).ToList(); string dateString = statStrings[0]; double magnitude = double.Parse(statStrings[1]); string startTime = statStrings[2]; string startAlt = statStrings[3]; string startAzimuth = statStrings[4]; string topTime = statStrings[5]; string topAlt = statStrings[6]; string topAzimuth = statStrings[7]; string endTime = statStrings[8]; string endAlt = statStrings[9]; string endAzimuth = statStrings[10]; string passType = statStrings[11]; stat.Brightness = magnitude; stat.PassType = passType; stat.Start = new ISSPosition() { Time = TimeFromString(startTime, dateString), Altitute = AltitudeFromString(startAlt), Azimuth = AzimuthFromString(startAzimuth) }; stat.Top = new ISSPosition() { Time = TimeFromString(topTime, dateString), Altitute = AltitudeFromString(topAlt), Azimuth = AzimuthFromString(topAzimuth) }; stat.End = new ISSPosition() { Time = TimeFromString(endTime, dateString), Altitute = AltitudeFromString(endAlt), Azimuth = AzimuthFromString(endAzimuth) }; return(stat); }
private static StationStat ParseRowToStat(HtmlNode node) { StationStat stat = new StationStat(); var statStrings = node.ChildNodes.Select(x => x.InnerText).ToList(); string dateString = statStrings[0]; double magnitude = double.Parse(statStrings[1]); string startTime = statStrings[2]; string startAlt = statStrings[3]; string startAzimuth = statStrings[4]; string topTime = statStrings[5]; string topAlt = statStrings[6]; string topAzimuth = statStrings[7]; string endTime = statStrings[8]; string endAlt = statStrings[9]; string endAzimuth = statStrings[10]; string passType = statStrings[11]; stat.Brightness = magnitude; stat.PassType = passType; stat.Start = new ISSPosition() { Time = TimeFromString(startTime, dateString), Altitute = AltitudeFromString(startAlt), Azimuth = AzimuthFromString(startAzimuth) }; stat.Top = new ISSPosition() { Time = TimeFromString(topTime, dateString), Altitute = AltitudeFromString(topAlt), Azimuth = AzimuthFromString(topAzimuth) }; stat.End = new ISSPosition() { Time = TimeFromString(endTime, dateString), Altitute = AltitudeFromString(endAlt), Azimuth = AzimuthFromString(endAzimuth) }; return stat; }