public async static Task ConnectToGatewayDb() { //connecting to DB bool connected = false; if (Convert.ToBoolean(ConfigurationManager.AppSettings["UseDB"])) { Console.WriteLine("Connecting to gateway database... "); string connectionString = ConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString; gatewayDb = new GatewayRepositoryDapper(connectionString); gatewayDb.SetWriteInterval(Convert.ToInt32(ConfigurationManager.AppSettings["WritingToDbInterwal"])); gatewayDb.ShowDebugInConsole(Convert.ToBoolean(ConfigurationManager.AppSettings["ShowDBDebug"])); gatewayDb.SetStoreTxRxMessages(Convert.ToBoolean(ConfigurationManager.AppSettings["StoreTxRxMessagesInDB"])); while (!connected) { gatewayDb.ConnectToGateway(gateway); connected = (gatewayDb.IsDbExist()); if (!connected) await Task.Delay(5000); } } }