Files
Shogi/Shogi.Sockets/Repositories/SessionRepository.cs
2022-10-31 08:08:58 -05:00

37 lines
924 B
C#

using Dapper;
using Shogi.Api.Repositories.Dto;
using Shogi.Domain;
using System.Data;
using System.Data.SqlClient;
using System.Text.Json;
namespace Shogi.Api.Repositories;
public class SessionRepository : ISessionRepository
{
private readonly string connectionString;
public SessionRepository(IConfiguration configuration)
{
connectionString = configuration.GetConnectionString("ShogiDatabase");
}
public async Task CreateSession(ShogiBoard session, string player1)
{
var initialBoardState = JsonSerializer.Serialize(session.BoardState);
using var connection = new SqlConnection(connectionString);
await connection.ExecuteAsync(
"session.CreateSession",
new
{
InitialBoardStateDocument = initialBoardState,
Player1Name = player1,
},
commandType: CommandType.StoredProcedure);
}
}
public interface ISessionRepository
{
Task CreateSession(ShogiBoard session, string player1);
}