39 lines
1.4 KiB
C#
39 lines
1.4 KiB
C#
using System;
|
|
using Microsoft.Data.SqlClient;
|
|
using Newtonsoft.Json.Linq;
|
|
|
|
namespace HorseRacingPredictor.Football.Database
|
|
{
|
|
internal class Bookmaker : HorseRacingPredictor.Football.Manager.Database
|
|
{
|
|
public void Upsert(SqlConnection connection, JToken bookmaker)
|
|
{
|
|
try
|
|
{
|
|
var id = bookmaker["id"]?.Value<int>();
|
|
if (id == null) return; // Salta il record se l'id è null
|
|
|
|
var query = @"
|
|
IF EXISTS (SELECT 1 FROM Bookmaker WHERE bookmaker_id = @bookmaker_id)
|
|
BEGIN
|
|
UPDATE Bookmaker SET name = @name WHERE bookmaker_id = @bookmaker_id
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO Bookmaker (bookmaker_id, name) VALUES (@bookmaker_id, @name)
|
|
END";
|
|
using (var command = new SqlCommand(query, connection))
|
|
{
|
|
command.Parameters.AddWithValue("@bookmaker_id", id);
|
|
command.Parameters.AddWithValue("@name", bookmaker["name"]?.Value<string>() ?? "");
|
|
command.ExecuteNonQuery();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogError("l'upsert del bookmaker", ex);
|
|
}
|
|
}
|
|
}
|
|
}
|