public static void ParseBpd(string bpd) { Value = bpd; SegmentList = new List <Segment>(); HICAZS = new List <HICAZS>(); HIKAZS = new List <HIKAZS>(); var lines = bpd.Split(new[] { Environment.NewLine }, StringSplitOptions.None).Where(l => !string.IsNullOrWhiteSpace(l)); foreach (var line in lines) { var segment = SegmentParserFactory.ParseSegment(line); if (segment is HIPINS) { HIPINS = (HIPINS)segment; } else if (segment is HICAZS) { HICAZS.Add((HICAZS)segment); } else if (segment is HIKAZS) { HIKAZS.Add((HIKAZS)segment); } else { SegmentList.Add(segment); } } }
public static void ParseBpd(string bpd) { Value = bpd; SegmentList = new List <Segment>(); HICAZS = new List <HICAZS>(); HIKAZS = new List <HIKAZS>(); List <string> segments = Helper.SplitSegments(bpd); foreach (var rawSegment in segments) { try { var segment = SegmentParserFactory.ParseSegment(rawSegment); if (segment is HIPINS) { HIPINS = (HIPINS)segment; } else if (segment is HICAZS) { HICAZS.Add((HICAZS)segment); } else if (segment is HIKAZS) { HIKAZS.Add((HIKAZS)segment); } SegmentList.Add(segment); } catch (Exception ex) { Log.Write($"Couldn't parse segment: {ex.Message}{Environment.NewLine}{rawSegment}"); } } }
public static Segment Parse_Segment(string segmentCode) { Segment segment = null; try { segment = SegmentParserFactory.ParseSegment(segmentCode); } catch (Exception ex) { Log.Write($"Couldn't parse segment: {ex.Message}{Environment.NewLine}{segmentCode}"); } return(segment); }