public TrendsRunTarget( TrendCategory trendCategory, INotificationReporter reporter, ITrendsRepositoryFactory repositoryFactory, IProject project, ITimeService timeService, ITrendTableSelector tableSelector) { Name = string.Format("{0} \"{1}\"", Res.Trends, trendCategory.Name); _timeToStore = trendCategory.TimeToStoreDb.HasValue ? new TimeSpan(trendCategory.TimeToStoreDb.Value) as TimeSpan? : null; foreach (TrendTag t in trendCategory.TrendTags.ToArray()) { Func <bool> triggerValueGetter; if (t.Trigger == null) { triggerValueGetter = () => true; } else { int trIoDevId = t.Trigger.IoDevice.Id; int trId = t.Trigger.Id; triggerValueGetter = () => project.IoDeviceRunTargets[trIoDevId].GetDigitalValue(trId) == true; } int ioDeviceId = t.NumTag.IoDevice.Id; int tagId = t.NumTag.Id; var trendInfo = new TrendTagInfo( t.Id, triggerValueGetter, () => project.IoDeviceRunTargets[ioDeviceId].GetNumericValue(tagId)); _trendsInfo.Add(t.Id, trendInfo); } Reporter = reporter; _repositoryFactory = repositoryFactory; _timeService = timeService; _tableSelector = tableSelector; }
public TrendsRunTarget( trend_categories trendCategory, INotificationReporter reporter, ITrendsRepositoryFactory repositoryFactory, IProject project, ITimeService timeService, ITrendTableSelector tableSelector) { _name = string.Format("{0} \"{1}\"", Res.Trends, trendCategory.name); _timeToStore = trendCategory.time_to_store.HasValue ? new TimeSpan(trendCategory.time_to_store.Value) as TimeSpan? : null; foreach (var t in trendCategory.trend_tags.ToArray()) { Func<bool> triggerValueGetter; if (t.dig_tags == null) { triggerValueGetter = () => true; } else { var trIoDevId = t.dig_tags.io_devices.id; var trId = t.dig_tags.id; triggerValueGetter = () => project.IoDeviceRunTargets[trIoDevId].GetDigitalValue(trId) == true; } var ioDeviceId = t.num_tags.io_devices.id; var tagId = t.num_tags.id; var trendInfo = new TrendTagInfo( t.id, triggerValueGetter, () => project.IoDeviceRunTargets[ioDeviceId].GetNumericValue(tagId)); _trendsInfo.Add(t.id, trendInfo); } _reporter = reporter; _repositoryFactory = repositoryFactory; _timeService = timeService; _tableSelector = tableSelector; }
public TrendsRunTarget( trend_categories trendCategory, INotificationReporter reporter, ITrendsRepositoryFactory repositoryFactory, IProject project, ITimeService timeService, ITrendTableSelector tableSelector) { _name = string.Format("{0} \"{1}\"", Res.Trends, trendCategory.name); _timeToStore = trendCategory.time_to_store.HasValue ? new TimeSpan(trendCategory.time_to_store.Value) as TimeSpan? : null; foreach (var t in trendCategory.trend_tags.ToArray()) { Func <bool> triggerValueGetter; if (t.dig_tags == null) { triggerValueGetter = () => true; } else { var trIoDevId = t.dig_tags.io_devices.id; var trId = t.dig_tags.id; triggerValueGetter = () => project.IoDeviceRunTargets[trIoDevId].GetDigitalValue(trId) == true; } var ioDeviceId = t.num_tags.io_devices.id; var tagId = t.num_tags.id; var trendInfo = new TrendTagInfo( t.id, triggerValueGetter, () => project.IoDeviceRunTargets[ioDeviceId].GetNumericValue(tagId)); _trendsInfo.Add(t.id, trendInfo); } _reporter = reporter; _repositoryFactory = repositoryFactory; _timeService = timeService; _tableSelector = tableSelector; }
protected override void EstablishContext() { base.EstablishContext(); Selector = new TrendTableSelector(); }