Ejemplo n.º 1
0
        public Aposta Apostar(Aposta aposta)
        {
            if (Sorteio != null)
            {
                throw new ArgumentNullException("Nao foi dessa vez. Reinicie o aplicativo para realizar apostas.");
            }
            if (aposta == null)
            {
                throw new ArgumentNullException(nameof(aposta));
            }
            if (aposta.Numeros.Any(x => x < NumeroMinimo || x > NumeroMaximo))
            {
                throw new ArgumentOutOfRangeException($"Aposta Invalida. Informar somente numeros entre {NumeroMinimo} e {NumeroMaximo}.", nameof(aposta));
            }
            if (aposta.Numeros.Count() < QuantidadeNumerosApostaMinimo || aposta.Numeros.Count() > QuantidadeNumerosApostaMaximo)
            {
                throw new ArgumentOutOfRangeException($"Aposta Invalida. A posta deve conter entre {QuantidadeNumerosApostaMinimo} e {QuantidadeNumerosApostaMaximo} numeros.", nameof(aposta));
            }
            if (aposta.Numeros.GroupBy(x => x).Where(y => y.Count() > 1).Any())
            {
                throw new ArgumentNullException("Aposta invalida. A aposta nao deve possuir numeros repetidos.", nameof(aposta));
            }

            aposta.Id   = Jogos.Count + 1;
            aposta.Data = DateTime.Now;
            Jogos.Add(aposta);

            return(aposta);
        }
Ejemplo n.º 2
0
        public Aposta ApostarSurpresinha(int qtdeNumeros)
        {
            if (Sorteio != null)
            {
                throw new ArgumentNullException("Nao foi dessa vez. Reinicie o aplicativo para realizar apostas.");
            }
            if (qtdeNumeros < QuantidadeNumerosApostaMinimo || qtdeNumeros > QuantidadeNumerosApostaMaximo)
            {
                throw new ArgumentException($"A quantidade de numeros da aposta deve ser entre {QuantidadeNumerosApostaMinimo} e {QuantidadeNumerosApostaMaximo}.", nameof(qtdeNumeros));
            }

            var aposta = new Aposta {
                Numeros = Enumerable.Range(NumeroMinimo, NumeroMaximo).OrderBy(x => random.Next()).Take(qtdeNumeros).OrderBy(x => x).ToList()
            };

            aposta.Id   = Jogos.Count + 1;
            aposta.Data = DateTime.Now;
            Jogos.Add(aposta);

            return(aposta);
        }
Ejemplo n.º 3
0
        public bool CriarJogos(TorneioContext db)
        {
            if (Jogos.Count == 0)
            {
                List <int> jogosPorRodada = mapearJogosRodadas(TotalTimes);

                for (int i = 1; i < TotalTimes; i++)
                {
                    Jogo novoJogo = new Jogo()
                    {
                        Nome       = $"Jogo {i}",
                        NumeroJogo = i,
                        Rodada     = jogosPorRodada[i - 1]
                    };

                    Jogos.Add(novoJogo);
                    db.SaveChanges();
                }
                return(true);
            }

            return(false);
        }
Ejemplo n.º 4
0
 public void AddJogo(Jogo jogo) => Jogos.Add(jogo);
Ejemplo n.º 5
0
 //Adiciona o jogo à lista de jogos
 public static void AdicionarJogo(Jogo novoJogo)
 {
     Jogos.Add(novoJogo);
 }