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);
        }
Exemplo n.º 2
0
 public async void SelectMetric(SelectionChangedEventArgs args)
 {
     if (args.AddedItems.Count == 1)
     {
         var metric = args.AddedItems[0] as Metric;
         MetricDimensions.Clear();
         if (metric.Dimensions != null && metric.Dimensions.Count() > 0)
         {
             LoadGraphEnabled.Value = false;
             foreach (var d in metric.Dimensions)
             {
                 MetricDimensions.Add(d);
             }
             SelectedMetricDimension.Value         = metric.Dimensions.First();
             MetricDimensionsSelectorEnabled.Value = metric.Dimensions.Count() > 1;
             var timegrains = new [] { "Automatic" }.Concat(metric.MetricAvailabilities.Select(x => x.TimeGrain).ToList());
             TimeGrains.Clear();
             foreach (var tg in timegrains)
             {
                 TimeGrains.Add(tg);
             }
             SelectedTimeGrain.Value         = timegrains.First();
             TimeGrainsSelectorEnabled.Value = timegrains.Count() > 1;
         }
         else
         {
             LoadGraphEnabled.Value = true;
             var md = new Metric.MetricDimension {
                 LocalizedValue = "No dimensions supported"
             };
             MetricDimensions.Add(md);
             SelectedMetricDimension.Value         = md;
             MetricDimensionsSelectorEnabled.Value = false;
         }
     }
 }