Exemplo n.º 1
0
        private static void PostProcessing(Message message)
        {
            var segments = message.GetAllSegments();

            segments.ForEach(segment =>
            {
                var segmentName = segment.Values.First().Data;
                segment.Values.ForEach(v => v.Index.SegmentName = segmentName);
            });

            // Populate segment repetition
            var segmentsGroupedByName = segments.GroupBy(segment => segment.Values.First().Index.SegmentName).ToList();

            foreach (var segmentsGroup in segmentsGroupedByName)
            {
                if (segmentsGroup.Count() == 1)
                {
                    segmentsGroup.First().Values.ForEach(v => v.Index.SegmentRepetition = 0);
                }
                else
                {
                    int i = 0;
                    segmentsGroup.ToList().ForEach(segment =>
                    {
                        segment.Values.ForEach(v => v.Index.SegmentRepetition = i);
                        i++;
                    });
                }
            }
        }