Files
CS2-SimpleAdmin/Database/Database.cs
Dawid Bepierszcz bb0a236f28 1.5.1a
- Possibility to use new line in translations
- Improved initializing
- More errors logging
- Localized Message refactor
2024-07-15 21:50:06 +02:00

58 lines
1.0 KiB
C#

using Microsoft.Extensions.Logging;
using MySqlConnector;
namespace CS2_SimpleAdmin.Database;
public class Database(string dbConnectionString)
{
public MySqlConnection GetConnection()
{
try
{
var connection = new MySqlConnection(dbConnectionString);
connection.Open();
return connection;
}
catch (Exception ex)
{
CS2_SimpleAdmin._logger?.LogCritical($"Unable to connect to database: {ex.Message}");
throw;
}
}
public async Task<MySqlConnection> GetConnectionAsync()
{
try
{
var connection = new MySqlConnection(dbConnectionString);
await connection.OpenAsync();
return connection;
}
catch (Exception ex)
{
CS2_SimpleAdmin._logger?.LogCritical($"Unable to connect to database: {ex.Message}");
throw;
}
}
public void DatabaseMigration()
{
Migration migrator = new(this);
migrator.ExecuteMigrations();
}
public bool CheckDatabaseConnection()
{
using var connection = GetConnection();
try
{
return connection.Ping();
}
catch
{
return false;
}
}
}