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.");
        }