Beispiel #1
0
        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;
        }
Beispiel #2
0
 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;
 }
Beispiel #3
0
 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();
 }
Beispiel #5
0
 protected override void EstablishContext()
 {
     base.EstablishContext();
     Selector = new TrendTableSelector();
 }