Пример #1
0
 private void StartTrends()
 {
     foreach (TrendCategory category in _context.Get <TrendCategory>().ToArray())
     {
         ITrendsRunTarget trendRunTarget = _trendsRunTargetFactory.Create(
             _dataDbConnectionString, this, category, _timeService);
         TrendsRunTargets.Add(category.Id, trendRunTarget);
         ICyclicRunner runner = _cyclicRunnerFactory.Create(trendRunTarget);
         runner.TimeSpan = new TimeSpan(category.PeriodDb);
         _trendsRunners.Add(new Tuple <IRunner, string>(runner, category.Name));
         runner.Start();
         _reporter.Report(string.Format(Res.TrendsStartedMessage, category.Name));
     }
 }
Пример #2
0
        private static void ReadTrendsPages(RemapTrendsParameter parameter, RemapTrendsResult result,
                                            ITrendsRunTarget runTarget)
        {
            var r = new Tuple <DateTime, double?[]> [parameter.PageParameters.Length][];

            for (var i = 0; i < parameter.PageParameters.Length; i++)
            {
                var pageParameter = parameter.PageParameters[i];
                r[i] = runTarget.GetPage(
                    pageParameter.Item1, pageParameter.Item2, pageParameter.Item3, pageParameter.Item4);
            }

            result.Pages = r;
        }
Пример #3
0
        public RemapTrendsResult[] RemapTrends(RemapTrendsParameter[] parameters)
        {
            if (NotValid())
            {
                return(null);
            }
            var result = new RemapTrendsResult[parameters.Length];

            for (var i = 0; i < parameters.Length; i++)
            {
                RemapTrendsParameter parameter       = parameters[i];
                ITrendsRunTarget     trendsRunTarget = _project.TrendsRunTargets[parameter.CategoryId];
                var r = new RemapTrendsResult();
                ReadTrendsSamples(parameter, r, trendsRunTarget);
                ReadTrendsPages(parameter, r, trendsRunTarget);
                r.Notifications = GetNotifications(trendsRunTarget.Reporter.Notifications);
                result[i]       = r;
            }

            return(result);
        }
Пример #4
0
 private static void ReadTrendsSamples(RemapTrendsParameter parameter, RemapTrendsResult result, ITrendsRunTarget runTarget)
 {
     var r = new Tuple<DateTime, double?[]>[parameter.SamplesParameters.Length][];
     for (var i = 0; i < parameter.SamplesParameters.Length; i++)
     {
         var samplesParameter = parameter.SamplesParameters[i];
         r[i] = runTarget.GetSamples(
             samplesParameter.Item1, samplesParameter.Item2, samplesParameter.Item3, samplesParameter.Item4);
     }
     result.Samples = r;
 }