Ejemplo n.º 1
0
        private void AggregateData()
        {
            Locale.Zones?.ForEach(zone =>
                                  zone.Positions?.ForEach(position =>
            {
                position.Zone = zone;
                position.PositionSignalData?.ForEach(data =>
                {
                    data.Position = position;
                    LocaleData.Add(data);
                });
            }));

            SignalNames = LocaleData
                          .Where(data => data.SignalType != SignalType.Magnetometer && !string.IsNullOrEmpty(data.SignalId))
                          .GroupBy(data => data.SignalId)
                          .Select(data => new { SignalId = data.Key, Samples = data.Sum(positionSignalData => positionSignalData.Samples) })
                          .OrderByDescending(signal => signal.Samples)
                          .Select(signal => signal.SignalId)
                          .ToHashSet();
        }