public SensorsLinksEngine(Gateway gateway, ISensorsLinksRepository db)
        {
            this.db = db;
            this.gateway = gateway;

            gateway.OnClearNodesListEvent += OnClearNodesListEvent;
            gateway.OnSensorUpdatedEvent += OnSensorUpdatedEvent;

            db.CreateDb();
            GetLinksFromRepository();
        }
Beispiel #2
0
 public LinksController()
 {
     string cs = ConfigurationManager.ConnectionStrings["GatewayDbConnection"].ConnectionString;
     gatewayDb = new GatewayRepositoryDapper(cs);
     linksDb = new SensorsLinksRepositoryDapper(cs);
 }
        public static void ConnectToDB()
        {

            //connecting to DB
            if (!dataBaseEnabled) return;

            OnDebugStateMessage("DATABASE: Connecting... ");

            if (dataBaseConnectionString == null)
            {
                OnDebugStateMessage("DATABASE: Connection failed. Set ConnectionString in appsettings.json file.");
                return;
            }


            gatewayDb = new GatewayRepositoryDapper(dataBaseConnectionString);
            historyDb = new SensorsHistoryRepositoryDapper(dataBaseConnectionString);
            sensorsTasksDb = new SensorsTasksRepositoryDapper(dataBaseConnectionString);
            sensorsLinksDb = new SensorsLinksRepositoryDapper(dataBaseConnectionString);
            //todo logicalNodesRepository = new logicalNodesRepositoryDapper(dataBaseConnectionString);

            gatewayDb.SetWriteInterval(dataBaseWriteInterval);
            gatewayDb.ShowDebugInConsole(dataBaseDebugState);
            gatewayDb.SetStoreTxRxMessages(dataBaseWriteTxRxMessages);
            gatewayDb.ConnectToGateway(gateway);

            historyDb.SetWriteInterval(dataBaseWriteInterval);
            historyDb.ConnectToGateway(gateway);

            OnDebugStateMessage("DATABASE: Connected");
        }
Beispiel #4
0
 public LinksController()
 {
     gatewayDb = SerialController.gatewayDb;
     linksDb = SerialController.sensorsLinksDb;
 }
Beispiel #5
0
        private async static Task ConnectSensorsLinks()
        {
            //connecting tasks
            bool connected = false;
            if (Convert.ToBoolean(ConfigurationManager.AppSettings["UseDB"]))
            {
                Console.WriteLine("Starting nodes links engine... ");

                string connectionString = ConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString;

                while (!connected)
                {
                    sensorsLinksDb = new SensorsLinksRepositoryDapper(connectionString);
                    sensorsLinksEngine = new SensorsLinksEngine(gateway, sensorsLinksDb);
                    connected = (sensorsTasksDb.IsDbExist());
                    if (!connected) await Task.Delay(5000);
                }
            }

            sensorsLinksEngine.GetLinksFromRepository();
        }