private Entities.ActiveConnection Execute(Entities.Game game, Entities.Enums.Hubs.Actions action, Boolean sendToSpectators,
Int32? excludedPlayerId = null)
{
Entities.Filters.ActiveConnection.SelectAll filter = new Entities.Filters.ActiveConnection.SelectAll();
filter.GroupName = String.Format("Game_{0}", game.GameID);
List<Entities.ActiveConnection> connections = _selectActiveConnection.Execute(filter);
Entities.ActiveConnection excludedConnection = null;
if(excludedPlayerId.HasValue)
{
excludedConnection = connections.DefaultIfEmpty(null).FirstOrDefault(x => x.User_UserId == excludedPlayerId);
}
ExecuteAction(game, action, connections.Where(x => x.ConnectionType == Entities.Enums.ConnectionType.GamePlayer), game.Players);
if (sendToSpectators)
{
ExecuteAction(game, action, connections.Where(x => x.ConnectionType == Entities.Enums.ConnectionType.GameSpectator), game.Spectators);
}
return excludedConnection;
}