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)); } }
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; }
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); }
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; }