Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
 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);
 }