private IEnumerable <IEdiInContainer> split(EdiSegmentCollection segments, SegmentLabel labelType, SegmentLabel closeType, IEdiInContainer parentContainer) { IList <IEdiInContainer> returnList = new List <IEdiInContainer>(); IList <Segment> segs = parentContainer.InnerSegments.ToList(); segs = RemoveNullSegments(segs); var ctxtCount = segs.Where(s => s != null).ToList().Count(s => s.Label == labelType); for (int i = 0; i < ctxtCount; i++) { returnList.Add(parentContainer.CreateChild(extract(new EdiSegmentCollection(segs, segments.ElementDelimiter), labelType, closeType, i))); } return(returnList); }
private IEnumerable<IEdiInContainer> split(EdiSegmentCollection segments, SegmentLabel labelType, SegmentLabel closeType, IEdiInContainer parentContainer) { IList<IEdiInContainer> returnList = new List<IEdiInContainer>(); IList<Segment> segs = parentContainer.InnerSegments.ToList(); segs = RemoveNullSegments(segs); var ctxtCount = segs.Where(s => s != null).ToList().Count(s => s.Label == labelType); for (int i = 0; i < ctxtCount; i++) { returnList.Add(parentContainer.CreateChild(extract(new EdiSegmentCollection(segs, segments.ElementDelimiter), labelType, closeType, i))); } return returnList; }