public void AdicionarJogoGerado(Jogo jogo, ValidadorGenerico validador) { DataTable gerados = ds.Tables["GERADOS"]; DataRow linha = gerados.NewRow(); linha["UUID"] = Guid.NewGuid(); linha["DATA_HORA"] = DateTime.Now; linha["BOLA01"] = jogo.Bola01; linha["BOLA02"] = jogo.Bola02; linha["BOLA03"] = jogo.Bola03; linha["BOLA04"] = jogo.Bola04; linha["BOLA05"] = jogo.Bola05; linha["BOLA06"] = jogo.Bola06; linha["BOLA07"] = jogo.Bola07; linha["BOLA08"] = jogo.Bola08; linha["BOLA09"] = jogo.Bola09; linha["BOLA10"] = jogo.Bola10; linha["BOLA11"] = jogo.Bola11; linha["BOLA12"] = jogo.Bola12; linha["BOLA13"] = jogo.Bola13; linha["BOLA14"] = jogo.Bola14; linha["BOLA15"] = jogo.Bola15; linha["BOLA16"] = jogo.Bola16; linha["BOLA17"] = jogo.Bola17; linha["BOLA18"] = jogo.Bola18; linha["REGRA"] = validador.ToString(); linha["TIPO"] = TipoAposta.NENHUM; linha["APOSTADO"] = false; gerados.Rows.Add(linha); jogo.AnalisarJogo(); }
void BAdicionarRegraClick(object sender, EventArgs e) { // Adiciona à lista ValidadorGenerico validador = new ValidadorGenerico(); validador.NumerosPares = Convert.ToInt32(updPares.Value); validador.MaiorSequencia = Convert.ToInt32(updMaiorSequencia.Value); validador.MaiorIntervalo = Convert.ToInt32(updMaiorIntervalo.Value); validadores.Add(validador); // Adiciona na lista visual ListViewItem item = new ListViewItem(validador.MaiorSequencia.ToString()); item.SubItems.Add(validador.MaiorIntervalo.ToString()); item.SubItems.Add(validador.NumerosPares.ToString()); item.SubItems.Add((15 - validador.NumerosPares).ToString()); item.Tag = validador; lvRegras.Items.Add(item); }
public void GerarJogos(int quantidadeJogos, int quantidadeNumeros) { DateTime inicio = DateTime.Now; System.Diagnostics.Debug.WriteLine("Início: " + inicio.ToString("HH:m:s tt zz")); List <Jogo> jogosValidos = new List <Jogo>(); ValidadorGeral validadorGeral = new ValidadorGeral(); ZerarContadores(); try { if (jogosPassados == null) { jogosPassados = Banco.ObterJogosPassados(); } validadorGeral.JogosPassados = jogosPassados; validadorGeral.BancoAnalise.AddRange(jogosPassados); while (jogosValidos.Count < quantidadeJogos) { RaiseOnGerarJogo(this, new EventArgs()); // Gerando as bolas Jogo jogo = new Jogo(); while (jogo.Bolas.Count < quantidadeNumeros) { RaiseOnBolaSorteada(this, new EventArgs()); Random random = new Random(Seeder()); int bola = random.Next(1, 26); if (!jogo.Bolas.Contains(bola)) { jogo.Bolas.Add(bola); } } jogo.Bolas.Sort(); for (int i = 1; i <= jogo.Bolas.Count; i++) { PropertyInfo propertyInfo = jogo.GetType().GetProperty("Bola" + i.ToString("00")); propertyInfo.SetValue(jogo, jogo.Bolas[i - 1], null); } jogo.AnalisarJogo(); // Verificações para validação do jogo MotivoReprovacao motivo = validadorGeral.Validar(jogo); ValidadorGenerico validador = null; if (motivo == MotivoReprovacao.NENHUM) { foreach (ValidadorGenerico validator in Validadores) { motivo = validator.Validar(jogo); if (motivo == MotivoReprovacao.NENHUM) { validador = validator; Banco.AdicionarJogoGerado(jogo, validador); Banco.Salvar(); break; } } } if (motivo != MotivoReprovacao.NENHUM) { Banco.AdicionarJogoReprovado(jogo, motivo, Validadores); Banco.Salvar(); RaiseOnJogoReprovado(this, new JogoReprovadoArgs(motivo)); } else { RaiseOnJogoAprovado(this, new JogoAprovadoArgs(jogo, validador)); } } DateTime fim = DateTime.Now; System.Diagnostics.Debug.WriteLine("Fim: " + fim.ToString("HH:m:s tt zz")); TimeSpan diferenca = fim - inicio; System.Diagnostics.Debug.WriteLine("Tempo: " + diferenca.ToString("g")); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.StackTrace); DateTime fim = DateTime.Now; System.Diagnostics.Debug.WriteLine("Fim: " + fim.ToString("HH:m:s tt zz")); TimeSpan diferenca = fim - inicio; System.Diagnostics.Debug.WriteLine("Tempo: " + diferenca.ToString("g")); } }