public Tuple <DateTime, double?[]>[] GetSamples(int[] trendTagIds, DateTime startTime, DateTime?endTime, int rarerer) { using (ITrendsRepository repository = _repositoryFactory.Create()) { return(repository.GetSamples(trendTagIds, startTime, endTime, rarerer)); } }
public void Run() { using (ITrendsRepository repository = _repositoryFactory.Create()) { DeleteOldTrendSamples(repository); ProcessTrends(repository); } }
public Tuple <DateTime, double?[]>[] GetPage(int[] trendTagIds, CriteriaType criteriaType, DateTime criteria, int maxCount) { using (ITrendsRepository repository = _repositoryFactory.Create()) { return(repository.GetPage(trendTagIds, criteriaType, criteria, maxCount)); } }
private void DeleteOldTrendSamples(ITrendsRepository repository) { if (!_timeToStore.HasValue) { return; } repository.DeleteOld(_timeService.UtcTime - _timeToStore.Value); }
private void ProcessTrends(ITrendsRepository repository) { DateTime time = _timeService.UtcTime; var infoToInsert = (from info in _trendsInfo.Values where info.TriggerValue() let value = info.Value() where value.HasValue select new Tuple <int, double>(info.Id, value.Value)).ToArray(); if (infoToInsert.Any()) { repository.Insert(time, _tableSelector.NextTable(), infoToInsert); } }
public ITrendsRunTarget Create(string connectionString, IProject project, TrendCategory trendCategory, ITimeService timeService) { var npgsqlConnectionFactory = new NpgsqlConnectionFactory(connectionString); var repositoryFactory = new TrendsRepositoryFactory( npgsqlConnectionFactory, trendCategory.Id, trendCategory.TrendTags.Select(t => t.Id).ToArray()); using (ITrendsRepository repository = repositoryFactory.Create()) { repository.EnsureTables(); } return(new TrendsRunTarget( trendCategory, new NotificationReporter(timeService) { LifeTime = TimeSpan.FromTicks(0) }, repositoryFactory, project, timeService, new TrendTableSelector())); }
private void ProcessTrends(ITrendsRepository repository) { var time = _timeService.UtcTime; var infoToInsert = (from info in _trendsInfo.Values where info.TriggerValue() let value = info.Value() where value.HasValue select new Tuple<int, double>(info.Id, value.Value)).ToArray(); if (infoToInsert.Any()) { repository.Insert(time, _tableSelector.NextTable(), infoToInsert); } }
private void DeleteOldTrendSamples(ITrendsRepository repository) { if (!_timeToStore.HasValue) return; repository.DeleteOld(_timeService.UtcTime - _timeToStore.Value); }
public TrendsService(ITrendsRepository repository) { _repository = repository; }