Exemple #1
0
 public void InitThreads()
 {
     ReadDataThreads = new Dictionary <int, Thread>();
     ReadDataWorks   = new Dictionary <int, AutomaticReadData>();
     foreach (var logger in new GeoViewerEntities().Loggers.Where(ent => ent.AutomaticReadData && ent.LastModifyDatetime != null).ToList())
     {
         var work = new AutomaticReadData();
         work.CurrentLogger = logger;
         Thread thread = new Thread(work.Run);
         ReadDataThreads.Add(logger.LoggerID, thread);
         ReadDataWorks.Add(logger.LoggerID, work);
     }
 }
Exemple #2
0
        public AutomaticReadData ReadDataByThread(Logger logger, bool onlyNewData, bool calculateValue)
        {
            var work = new AutomaticReadData()
            {
                CurrentLogger  = logger,
                OnlyNewData    = onlyNewData,
                CalculateValue = calculateValue,
                Loop           = false
            };
            var thread = new Thread(work.Run);

            thread.Start();
            return(work);
        }
Exemple #3
0
 public void AddThread(Logger logger)
 {
     if (!ReadDataThreads.ContainsKey(logger.LoggerID))
     {
         var work = new AutomaticReadData();
         work.CurrentLogger = logger;
         Thread thread = new Thread(work.Run);
         ReadDataThreads.Add(logger.LoggerID, thread);
         ReadDataWorks.Add(logger.LoggerID, work);
     }
     if (logger.FirstLogDatetime != null && !ReadDataThreads[logger.LoggerID].IsAlive)
     {
         ReadDataThreads[logger.LoggerID].Start();
     }
 }
Exemple #4
0
 public void SaveThread(Logger logger)
 {
     if (!ReadDataThreads.ContainsKey(logger.LoggerID))
     {
         var work = new AutomaticReadData();
         work.CurrentLogger = logger;
         Thread thread = new Thread(work.Run);
         ReadDataThreads.Add(logger.LoggerID, thread);
         ReadDataWorks.Add(logger.LoggerID, work);
     }
     else
     {
         ReadDataWorks[logger.LoggerID].CurrentLogger = logger;
     }
     if (logger.FirstLogDatetime != null && !ReadDataThreads[logger.LoggerID].IsAlive)
         ReadDataThreads[logger.LoggerID].Start();
 }
Exemple #5
0
 public AutomaticReadData ReadDataByThread(Logger logger, bool onlyNewData, bool calculateValue)
 {
     var work = new AutomaticReadData()
                    {
                        CurrentLogger = logger,
                        OnlyNewData = onlyNewData,
                        CalculateValue = calculateValue,
                        Loop = false
                    };
     var thread = new Thread(work.Run);
     thread.Start();
     return work;
 }
Exemple #6
0
 public void InitThreads()
 {
     ReadDataThreads = new Dictionary<int, Thread>();
     ReadDataWorks = new Dictionary<int, AutomaticReadData>();
     foreach (var logger in new GeoViewerEntities().Loggers.Where(ent => ent.AutomaticReadData && ent.LastModifyDatetime != null).ToList())
     {
         var work = new AutomaticReadData();
         work.CurrentLogger = logger;
         Thread thread = new Thread(work.Run);
         ReadDataThreads.Add(logger.LoggerID, thread);
         ReadDataWorks.Add(logger.LoggerID, work);
     }
 }
Exemple #7
0
 public ReadDataForm(Logger logger, bool onlyNewData, bool calculateValue)
 {
     _logger = logger;
     _automaticReadData = ReaderThreadManager.Current.ReadDataByThread(logger, onlyNewData, calculateValue);
     InitializeComponent();
 }