Пример #1
0
 public PsnChannelTrendLoaderSimple(IPsnProtocolParameterConfiguration signalConfiguration, IPsnProtocolCommandPartConfiguration commandPartConfiguration, IPsnData psnData, IPsnProtocolConfiguration psnConfiguration, IPsnDataInformation psnDataInformation)
 {
     _signalConfiguration      = signalConfiguration;
     _commandPartConfiguration = commandPartConfiguration;
     _psnData            = psnData;
     _psnConfiguration   = psnConfiguration;
     _psnDataInformation = psnDataInformation;
 }
Пример #2
0
 public PsnChannelTrendLoaderMerged(IPsnMergedParameter mergedParam, IPsnData psnData, IPsnProtocolConfiguration psnConfiguration, IPsnDataInformation psnDataInformation)
 {
     _mergedParam        = mergedParam;
     _psnData            = psnData;
     _psnConfiguration   = psnConfiguration;
     _psnDataInformation = psnDataInformation;
     _loadedTrendsCount  = 0;
 }
Пример #3
0
        public PsnLogRelay(
            IPsnDataInformation psnDataInformation,
            IPsnData psnData,
            IPsnConfiguration psnConfiguration,
            IPsnProtocolConfiguration psnConfigurationLowLevel,
            IPsnDataCustomConfigration psnDataCustomConfigration,
            IThreadNotifier uiNotifier,
            IWorker <Action> bworker,
            IStorage <IPsnProtocolConfiguration> psnProtocolStorage,
            IPsnDataCustomConfigurationsStorage psnDataCustomConfigurationStorage,
            IKeyValueStorageHolder repoStorageHolder)
        {
            _logIntegrity       = PsnLogIntegrity.Unknown;
            _psnDataInformation = psnDataInformation;
            _psnData            = psnData;
            _psnDataPaged       = _psnData.PagesInformation;

            _psnConfiguration         = psnConfiguration;
            _psnConfigurationLowLevel = psnConfigurationLowLevel;

            _psnDataCustomConfigration = new PsnDataCustomConfigurationSimple(
                psnDataCustomConfigration.Id,
                psnDataCustomConfigration.PsnConfigurationId,
                psnDataCustomConfigration.CustomLogName);

            _uiNotifier         = uiNotifier;
            _bworker            = bworker;
            _psnProtocolStorage = psnProtocolStorage;
            _psnDataCustomConfigurationStorage = psnDataCustomConfigurationStorage;

            _meters = new ObservableCollection <IPsnMeter>();

            // TODO: i get logs for FTP logs also
            //_unicSignalIdStorage = new KeyValueStringStorageXmlMemCache(Path.Combine(Support.GetAppDataDirectoryPathAndCreateItIfNeeded(), Id.UnicString + ".Id.xml"));
            _unicSignalIdStorage = repoStorageHolder.GetStorage(Id.UnicString);
            //_unicSignalIdStorage = new KvStorageDbreezed(Id.UnicString);

            RebuildMetersUnsafe();
        }
Пример #4
0
        private static void LoadAllStoragedSignals(IPsnDataStorage storage, IPsnProtocolConfiguration config)
        {
            var psnLogsInStorage = storage.PsnDatas.ToList();

            Log("Число ПСН логов на устройстве: " + psnLogsInStorage.Count);
            Log("Конфигурация ПСН: " + config.Information);
            Log("Загрузка всех сигналов для всех логов...");
            foreach (var psnLog in psnLogsInStorage)
            {
                Console.WriteLine("PsnLog " + psnLog);
                foreach (var psnDev in config.PsnDevices)
                {
                    Log("Работаем с абонентом ПСН: " + psnDev.Name);
                    IPsnData log = psnLog;
                    IPsnProtocolDeviceConfiguration dev = psnDev;
                    config.ForeachPsnMeterSignal(psnDev.Address, (cmdPartConfiguration, parameterConfiguration) => {
                        var points = log.LoadTrend(config, cmdPartConfiguration, parameterConfiguration, DateTime.Now);
                        Console.WriteLine(dev.Name + "/" + parameterConfiguration.Name + " = " + points.Count);
                        return(false);
                    });
                }
            }
        }