private void RespondToChallenge(long challengeId, bool accepted)
{
var challenge = UnitOfWork.Find<Challenge>(challengeId);
if (accepted)
{
var board = new Board();
var squares = board.Squares.SelectMany(s => s);
var game = new Game
{
DarkPlayer = challenge.DarkPlayer,
LightPlayer = challenge.LightPlayer,
Name = challenge.Title,
Challenge = challenge,
};
foreach (var square in squares)
{
square.Game = game;
square.ChessPiece = (ChessPiece) square.ChessPiece; //TODO: Why did I do this?
UnitOfWork.Add(square);
}
UnitOfWork.Add(game);
}
challenge.Accepted = accepted;
UnitOfWork.Commit();
}