public int ProcessAddresses(List <Segment> lst, IEdiMessageWithAddress ediMessage) { if (!addressesFound(lst)) { return(0); } lst.RemoveWhile(seg => seg.Label != SegmentLabel.AddressNameLabel); var addrLoop = new List <Segment>(); var segmentCount = 0; while (EDIUtilities.MoveSegmentByLabel(lst, addrLoop, SegmentLabel.AddressNameLabel)) { segmentCount++; Segment nextSeg = lst[0]; while (nextSeg.Label == SegmentLabel.AddressLineLabel || nextSeg.Label == SegmentLabel.GeographicLabel || nextSeg.Label == SegmentLabel.ContactLabel) { segmentCount++; EDIUtilities.MoveSegment(lst, addrLoop, nextSeg); nextSeg = lst[0]; } ediMessage.AddAddress(process_address(addrLoop)); addrLoop.Clear(); } return(segmentCount); }
public int ProcessAddresses(List<Segment> lst, IEdiMessageWithAddress ediMessage) { if (!addressesFound(lst)) return 0; lst.RemoveWhile(seg => seg.Label != SegmentLabel.AddressNameLabel); var addrLoop = new List<Segment>(); var segmentCount = 0; while (EDIUtilities.MoveSegmentByLabel(lst, addrLoop, SegmentLabel.AddressNameLabel)) { segmentCount++; Segment nextSeg = lst[0]; while (nextSeg.Label == SegmentLabel.AddressLineLabel || nextSeg.Label == SegmentLabel.GeographicLabel || nextSeg.Label == SegmentLabel.ContactLabel) { segmentCount++; EDIUtilities.MoveSegment(lst, addrLoop, nextSeg); nextSeg = lst[0]; } ediMessage.AddAddress(process_address(addrLoop)); addrLoop.Clear(); } return segmentCount; }
private int process_addresses(List <Segment> segList, IEdiMessageWithAddress order) { return(_addrParser.ProcessAddresses(segList, order)); }
private int process_addresses(List<Segment> segList, IEdiMessageWithAddress order) { return _addrParser.ProcessAddresses(segList, order); }