60 lines
2.2 KiB
C#
60 lines
2.2 KiB
C#
using System;
|
|
using Microsoft.Data.SqlClient;
|
|
using System.Text.Json.Nodes;
|
|
using HorseRacingPredictor.Football.Database;
|
|
|
|
namespace HorseRacingPredictor.Football.Manager
|
|
{
|
|
internal class Database : HorseRacingPredictor.Manager.Database
|
|
{
|
|
public Database() : base(AppConfig.FootballConnectionString) { }
|
|
|
|
// Usato il modificatore "new" per evitare il warning CS0108
|
|
protected new void LogError(string operation, Exception ex)
|
|
{
|
|
base.LogError(operation, ex);
|
|
}
|
|
|
|
// Usato il modificatore "new" per evitare il warning CS0108
|
|
protected new void ExecuteQuery(string operation, Action<SqlConnection> action)
|
|
{
|
|
base.ExecuteQuery(operation, action);
|
|
}
|
|
|
|
// Aggiunto il modificatore "new" per evitare il warning CS0108
|
|
protected new void ExecuteTransactionalQuery(string operation, Action<SqlConnection, SqlTransaction> action)
|
|
{
|
|
base.ExecuteTransactionalQuery(operation, action);
|
|
}
|
|
|
|
// Questo metodo ora è vuoto e sarà implementato nella Main
|
|
public void ProcessAndInsertData(string jsonResponse)
|
|
{
|
|
// Il codice è stato spostato in Football.Main
|
|
LogError("l'elaborazione dei dati calcistici", new NotImplementedException("Questo metodo è stato spostato in Football.Main"));
|
|
}
|
|
|
|
/// <summary>
|
|
/// Disabilita temporaneamente tutti i vincoli di chiave esterna nel database
|
|
/// </summary>
|
|
public void DisableAllConstraints(SqlConnection connection, SqlTransaction transaction)
|
|
{
|
|
using (var cmd = new SqlCommand("EXEC sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'", connection, transaction))
|
|
{
|
|
cmd.ExecuteNonQuery();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Riattiva tutti i vincoli di chiave esterna nel database
|
|
/// </summary>
|
|
public void EnableAllConstraints(SqlConnection connection, SqlTransaction transaction)
|
|
{
|
|
using (var cmd = new SqlCommand("EXEC sp_MSforeachtable 'ALTER TABLE ? CHECK CONSTRAINT ALL'", connection, transaction))
|
|
{
|
|
cmd.ExecuteNonQuery();
|
|
}
|
|
}
|
|
}
|
|
}
|