Ejemplo n.º 1
0
        IEnumerable <Segment> GetControlSums(SegmentCollection segments)
        {
            decimal ControlQuantity = segments.Where(s => s.Tag == "QTY").Sum(qty => Helpers.SegmentHelpers.GetQtyValue(qty));
            int     LineCount       = segments.Where(s => s.Tag == "LIN").Count();
            int     SegmentCount    = segments.Count();

            for (int i = SegmentCount - 1; i > 0; --i)
            {
                if (segments[i].Tag == "BGM")
                {
                    SegmentCount -= i;
                    break;
                }
            }

            return(Helpers.Interchange.GetMessageTrailer(ControlQuantity, LineCount));
        }