public static void SqlRecordAppUse()
        {
            try
            {
                SqlConnection sqlConnection = DatabaseOperations.SqlOpenConnection(DatabaseOperations.adminDataSqlConnectionString);
                DataTable     dt            = sqlConnection.GetSchema("Tables");

                List <string> existingTables = new List <string>();
                foreach (DataRow row in dt.Rows)
                {
                    string tableName = (string)row[2];
                    existingTables.Add(tableName);
                }

                if (existingTables.Contains(Properties.Settings.Default.SqlAppUseTableName))
                {
                    SqlBulkCopyOptions options = SqlBulkCopyOptions.Default;

                    using (SqlBulkCopy s = new SqlBulkCopy(sqlConnection, options, null))
                    {
                        s.DestinationTableName = "[" + Properties.Settings.Default.SqlAppUseTableName + "]";
                        foreach (DataColumn appColumn in BARevitTools.Application.thisApp.appUseDataTable.Columns)
                        {
                            s.ColumnMappings.Add(appColumn.ToString(), appColumn.ToString());
                        }
                        s.WriteToServer(BARevitTools.Application.thisApp.appUseDataTable);
                    }
                }
                else
                {
                    SqlCommand sqlCreateTable = new SqlCommand("CREATE TABLE " + Properties.Settings.Default.SqlAppUseTableName + " (AppGUID uniqueidentifier, AppButton varchar(255), AppUser varchar(255), AppDate datetime)", sqlConnection);
                    sqlCreateTable.ExecuteNonQuery();

                    SqlBulkCopyOptions options = SqlBulkCopyOptions.Default;

                    using (SqlBulkCopy s = new SqlBulkCopy(sqlConnection, options, null))
                    {
                        s.DestinationTableName = "[" + Properties.Settings.Default.SqlAppUseTableName + "]";
                        foreach (DataColumn appColumn in BARevitTools.Application.thisApp.appUseDataTable.Columns)
                        {
                            s.ColumnMappings.Add(appColumn.ToString(), appColumn.ToString());
                        }
                        s.WriteToServer(BARevitTools.Application.thisApp.appUseDataTable);
                    }
                }
                DatabaseOperations.SqlCloseConnection(sqlConnection);
            }
            catch {; }
        }
        public static void SqlLogWriter(string writtenTableName)
        {
            try
            {
                SqlConnection sqlConnection = DatabaseOperations.SqlOpenConnection(DatabaseOperations.adminDataSqlConnectionString);
                DataTable     dt            = sqlConnection.GetSchema("Tables");

                List <string> existingTables = new List <string>();
                foreach (DataRow row in dt.Rows)
                {
                    string tableName = (string)row[2];
                    existingTables.Add(tableName);
                }

                if (existingTables.Contains("BARevitTools_SQLWriterLog"))
                {
                    string commandString = "INSERT INTO [BARevitTools_SQLWriterLog] (UserName, TableName, WriteDate) VALUES (@userName, @tableName, @dateTime)";
                    using (SqlCommand sqlInsert = new SqlCommand(commandString, sqlConnection))
                    {
                        sqlInsert.Parameters.AddWithValue("@userName", Environment.UserName);
                        sqlInsert.Parameters.AddWithValue("@tableName", writtenTableName);
                        sqlInsert.Parameters.AddWithValue("@dateTime", DateTime.Now);
                        sqlInsert.ExecuteNonQuery();
                    }
                }
                else
                {
                    SqlCommand sqlCreateTable = new SqlCommand("CREATE TABLE BARevitTools_SQLWriterLog (UserName varchar(255), TableName varchar(255), WriteDate datetime)", sqlConnection);
                    sqlCreateTable.ExecuteNonQuery();
                    string commandString = "INSERT INTO [BARevitTools_SQLWriterLog] (UserName, TableName, WriteDate) VALUES (@userName, @tableName, @dateTime)";
                    using (SqlCommand sqlInsert = new SqlCommand(commandString, sqlConnection))
                    {
                        sqlInsert.Parameters.AddWithValue("@userName", Environment.UserName);
                        sqlInsert.Parameters.AddWithValue("@tableName", writtenTableName);
                        sqlInsert.Parameters.AddWithValue("@dateTime", DateTime.Now);
                        sqlInsert.ExecuteNonQuery();
                    }
                }
                DatabaseOperations.SqlCloseConnection(sqlConnection);
            }
            catch {; }
        }