コード例 #1
0
        public NodesEngine(INodesRepository nodesDb = null, INodesDataRepository dataDb = null)
        {
            NodesEngine.nodesEngine = this;

            this.nodesDb = nodesDb;
            this.dataDb  = dataDb;

            lastUpdateTime = DateTime.Now;

            activityTimer.Elapsed += UpdateShowActivity;
            activityTimer.Interval = SHOW_ACTIVITY_INTERVAL;
            activityTimer.Start();

            if (nodesDb != null)
            {
                GetNodesFromRepository();
                GetLinksFromRepository();
            }

            UpdateNodesLoop();
        }
コード例 #2
0
        public NodesEngine(INodesRepository nodesDb = null, INodesDataRepository dataDb = null)
        {

            NodesEngine.nodesEngine = this;

            this.nodesDb = nodesDb;
            this.dataDb = dataDb;

            lastUpdateTime = DateTime.Now;

            activityTimer.Elapsed += UpdateShowActivity;
            activityTimer.Interval = SHOW_ACTIVITY_INTERVAL;
            activityTimer.Start();

            if (nodesDb != null)
            {
                GetNodesFromRepository();
                GetLinksFromRepository();
            }

            UpdateNodesLoop();
        }
コード例 #3
0
        public static void ConnectToDB()
        {
            if (!dataBaseConfig.Enable)
            {
                nodesDb             = null;
                nodesDataDb         = null;
                mySensorsDb         = null;
                mySensorsMessagesDb = null;
                usersDb             = null;
                return;
            }

            logs.AddSystemInfo("Connecting to database... ");


            //db config
            if (dataBaseConfig.UseInternalDb)
            {
                NodesDbContext             nodesDbContext             = (NodesDbContext)services.GetService(typeof(NodesDbContext));
                NodesDataDbContext         nodesDataDbContext         = (NodesDataDbContext)services.GetService(typeof(NodesDataDbContext));
                MySensorsNodesDbContext    mySensorsNodesDbContext    = (MySensorsNodesDbContext)services.GetService(typeof(MySensorsNodesDbContext));
                MySensorsMessagesDbContext mySensorsMessagesDbContext = (MySensorsMessagesDbContext)services.GetService(typeof(MySensorsMessagesDbContext));
                UsersDbContext             usersDbContext             = (UsersDbContext)services.GetService(typeof(UsersDbContext));

                nodesDb             = new NodesRepositoryEf(nodesDbContext);
                nodesDataDb         = new NodesDataRepositoryEf(nodesDataDbContext);
                mySensorsDb         = new MySensorsRepositoryEf(mySensorsNodesDbContext);
                mySensorsMessagesDb = new MySensorsMessagesRepositoryEf(mySensorsMessagesDbContext);
                usersDb             = new UsersRepositoryEf(usersDbContext);
            }
            else
            {
                if (String.IsNullOrEmpty(dataBaseConfig.ExternalDbConnectionString))
                {
                    logs.AddSystemError("Database connection failed. Set ConnectionString in appsettings.json file.");
                    return;
                }

                nodesDb             = new NodesRepositoryDapper(dataBaseConfig.ExternalDbConnectionString);
                nodesDataDb         = new NodesDataRepositoryDapper(dataBaseConfig.ExternalDbConnectionString);
                mySensorsDb         = new MySensorsRepositoryDapper(dataBaseConfig.ExternalDbConnectionString);
                mySensorsMessagesDb = new MySensorsMessagesRepositoryDapper(dataBaseConfig.ExternalDbConnectionString);
                usersDb             = new UsersRepositoryDapper(dataBaseConfig.ExternalDbConnectionString);
            }


            mySensorsDb.SetWriteInterval(dataBaseConfig.WriteInterval);
            mySensorsDb.OnLogInfo  += logs.AddDataBaseInfo;
            mySensorsDb.OnLogError += logs.AddDataBaseError;

            mySensorsMessagesDb.SetWriteInterval(dataBaseConfig.WriteInterval);
            mySensorsMessagesDb.OnLogInfo  += logs.AddDataBaseInfo;
            mySensorsMessagesDb.OnLogError += logs.AddDataBaseError;

            nodesDb.SetWriteInterval(dataBaseConfig.WriteInterval);
            nodesDb.OnLogInfo  += logs.AddDataBaseInfo;
            nodesDb.OnLogError += logs.AddDataBaseError;

            nodesDataDb.SetWriteInterval(dataBaseConfig.WriteInterval);
            nodesDataDb.OnLogInfo  += logs.AddDataBaseInfo;
            nodesDataDb.OnLogError += logs.AddDataBaseError;

            logs.AddSystemInfo("Database connected.");
        }
コード例 #4
0
        public static void ConnectToDB()
        {
            if (!dataBaseConfig.Enable)
            {
                nodesDb = null;
                nodesDataDb = null;
                mySensorsDb = null;
                mySensorsMessagesDb = null;
                usersDb = null;
                return;
            }

            logs.AddSystemInfo("Connecting to database... ");


            //db config
            if (dataBaseConfig.UseInternalDb)
            {
                NodesDbContext nodesDbContext = (NodesDbContext)services.GetService(typeof(NodesDbContext));
                NodesDataDbContext nodesDataDbContext = (NodesDataDbContext)services.GetService(typeof(NodesDataDbContext));
                MySensorsNodesDbContext mySensorsNodesDbContext = (MySensorsNodesDbContext)services.GetService(typeof(MySensorsNodesDbContext));
                MySensorsMessagesDbContext mySensorsMessagesDbContext = (MySensorsMessagesDbContext)services.GetService(typeof(MySensorsMessagesDbContext));
                UsersDbContext usersDbContext = (UsersDbContext)services.GetService(typeof(UsersDbContext));

                nodesDb = new NodesRepositoryEf(nodesDbContext);
                nodesDataDb = new NodesDataRepositoryEf(nodesDataDbContext);
                mySensorsDb = new MySensorsRepositoryEf(mySensorsNodesDbContext);
                mySensorsMessagesDb = new MySensorsMessagesRepositoryEf(mySensorsMessagesDbContext);
                usersDb = new UsersRepositoryEf(usersDbContext);
            }
            else
            {
                if (String.IsNullOrEmpty(dataBaseConfig.ExternalDbConnectionString))
                {
                    logs.AddSystemError("Database connection failed. Set ConnectionString in appsettings.json file.");
                    return;
                }

                nodesDb = new NodesRepositoryDapper(dataBaseConfig.ExternalDbConnectionString);
                nodesDataDb = new NodesDataRepositoryDapper(dataBaseConfig.ExternalDbConnectionString);
                mySensorsDb = new MySensorsRepositoryDapper(dataBaseConfig.ExternalDbConnectionString);
                mySensorsMessagesDb = new MySensorsMessagesRepositoryDapper(dataBaseConfig.ExternalDbConnectionString);
                usersDb = new UsersRepositoryDapper(dataBaseConfig.ExternalDbConnectionString);
            }


            mySensorsDb.SetWriteInterval(dataBaseConfig.WriteInterval);
            mySensorsDb.OnLogInfo += logs.AddDataBaseInfo;
            mySensorsDb.OnLogError += logs.AddDataBaseError;

            mySensorsMessagesDb.SetWriteInterval(dataBaseConfig.WriteInterval);
            mySensorsMessagesDb.OnLogInfo += logs.AddDataBaseInfo;
            mySensorsMessagesDb.OnLogError += logs.AddDataBaseError;

            nodesDb.SetWriteInterval(dataBaseConfig.WriteInterval);
            nodesDb.OnLogInfo += logs.AddDataBaseInfo;
            nodesDb.OnLogError += logs.AddDataBaseError;

            nodesDataDb.SetWriteInterval(dataBaseConfig.WriteInterval);
            nodesDataDb.OnLogInfo += logs.AddDataBaseInfo;
            nodesDataDb.OnLogError += logs.AddDataBaseError;

            logs.AddSystemInfo("Database connected.");
        }