Exemplo n.º 1
0
        string GetTimeGrain()
        {
            var timegrain = SelectedTimeGrain.Value;

            if (timegrain == "Automatic")
            {
                var vals = TimeGrains.Where(x => x != timegrain).Select(x =>
                {
                    x = x.Substring(1 + (x[1] == 'T' ? 1 : 0));
                    return(x == "1M"  ? new TimeSpan(0, 1, 0) :
                           x == "5M"  ? new TimeSpan(0, 5, 0) :
                           x == "15M" ? new TimeSpan(0, 15, 0) :
                           x == "30M" ? new TimeSpan(0, 30, 0) :
                           x == "1H" ? new TimeSpan(1, 0, 0) :
                           x == "6H" ? new TimeSpan(6, 0, 0) :
                           x == "12H" ? new TimeSpan(12, 0, 0) :
                           x == "1D" ? new TimeSpan(24, 0, 0) :
                           default(TimeSpan));
                });
                var durationSecs = (End.Value - Start.Value).Ticks;
                var points       = vals.Select(x => durationSecs / x.Ticks).ToList();
                var maxpoints    = 500;

                for (var i = 0; i < points.Count; i++)
                {
                    if (points[i] < maxpoints)
                    {
                        timegrain = TimeGrains.ElementAt(i + 1);
                        break;
                    }
                }
            }
            return(timegrain);
        }