public IList <ISimulacaoCallPreFlop> GeraListaGanhosPerdas(int idGrupo)
        {
            IList <IMaoBasica>            listaMao       = MaoBasica.GetTodasMaosPossiveis();
            IList <ISimulacaoCallPreFlop> listaSimulacao = new List <ISimulacaoCallPreFlop>();
            IJogador banca = new Banca(this.Config);
            IRetornaProbabilidade retornaProbabilidade = new RecuperarProbabilidade();

            Comum.Mesa         m       = new Comum.Mesa(this.Config);
            IList <IMaoBasica> novaMao = new List <IMaoBasica>();

            //foreach (IMaoBasica mao in listaMao)
            //    if (mao.NumCarta1 > 10) novaMao.Add(mao);
            //listaMao = novaMao;


            foreach (IMaoBasica mao in listaMao)
            {
                ISimulacaoCallPreFlop simulacao = new SimulacaoCallPreFlop()
                {
                    IdGrupo = idGrupo,
                    ProbabilidadeMaoInicial = ProbabilidadeMaoInicialContext.GetItem(mao),
                    MaoBasica = mao,
                    QuantidadeJogosSimuladosPretendidos = this.QuantidadeJogosSimuladosPretendidos,
                    StackInicial             = this.StackInicial,
                    QuantidadeJogosSimulados = 0,
                    QuantidadeJogosGanhos    = 0,
                    QuantidadeJogosPerdidos  = 0,
                    QuantidadeJogosEmpatados = 0,
                    RaiseFlop     = false,
                    RaiseFlopTurn = false
                };

                IJogador jogador = new JogadorProbabilistico(
                    this.Config,
                    this.GetAcaoProbabilidade(simulacao.ProbabilidadeMaoInicial),
                    retornaProbabilidade,
                    this.StackInicial
                    );

                ICroupier croupier = new Croupier(new CroupierConstructParam()
                {
                    Jogador           = jogador,
                    Banca             = banca,
                    ConfiguracaoPoker = this.Config
                }
                                                  );

                simulacao = this.SimulaJogosUmaMao(simulacao, croupier, jogador);

                SimulacaoCallPreFlopProbabilidadeContext.Persiste(simulacao);

                Console.WriteLine(mao.NumCarta1 + " " + mao.NumCarta2 + " - " + mao.OffOrSuited);
            }

            return(listaSimulacao);
        }
 private bool ExisteSimulacao(IMaoBasica maoBasica, uint qtdJogosSimulacao = 500000)
 {
     return(SimulacaoCallPreFlopProbabilidadeContext.JaExisteProbabilidadeCadastrada(maoBasica));
 }