示例#1
0
        public async Task <IHttpActionResult> PostAposta(ApostaDTO aDTO)
        {
            if (!ModelState.IsValid)
            {
                Aposta x = new Aposta()
                {
                    Id = 999
                };

                return(Ok(x));
                // return BadRequest(ModelState);
            }
            Aposta aposta = new Aposta();

            aposta.ConcursoID = aDTO.ConcursoId;
            aposta.DataHora   = DateTime.Now;
            aposta.Jogo1      = aDTO.Jogo[0];
            aposta.Jogo2      = aDTO.Jogo[1];
            aposta.Jogo3      = aDTO.Jogo[2];
            aposta.Jogo4      = aDTO.Jogo[3];
            aposta.Jogo5      = aDTO.Jogo[4];
            aposta.Jogo6      = aDTO.Jogo[5];

            db.Apostas.Add(aposta);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = aposta.Id }, aposta));
        }
示例#2
0
        /// <summary>
        /// Altera no banco de dados o Aposta
        /// </summary>
        /// <param name="aposta"></param>
        public void alterarAposta(Aposta aposta)
        {
            conn = ConnexionDataBase.obterConexao();
            string queryString = "update Aposta set idApostador = @idApostador, idCavalo = @idCavalo, idCorrida = @idCorrida, valor = @valor where idAposta = @Id";

            try
            {
                SqlCommand cmd = new SqlCommand(queryString, conn);
                cmd.Parameters.Add("@id", SqlDbType.Int).Value          = aposta.getIdAposta();
                cmd.Parameters.Add("@idApostador", SqlDbType.Int).Value = aposta.getIdApostador();
                cmd.Parameters.Add("@idCavalo", SqlDbType.Int).Value    = aposta.getIdCavalo();
                cmd.Parameters.Add("@idCorrida", SqlDbType.Int).Value   = aposta.getIdCorrida();
                cmd.Parameters.Add("@valor", SqlDbType.Money).Value     = aposta.getValor(); //caso dê erro troque o money por double

                int i = cmd.ExecuteNonQuery();
                if (i > 0)
                {
                    MessageBox.Show("Registro atualizado com sucesso!");
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Erro: " + error);
            }
            finally
            {
                ConnexionDataBase.fecharConexao();
            }
        }
示例#3
0
        private void btnCadatro_Click(object sender, EventArgs e)
        {
            try
            {
                // Inicializa o apostador para poder usar seus metodos {get, set}
                Aposta aposta = new Aposta();

                aposta.setValor(Double.Parse(txtValor.Text.Trim()));

                for (int i = 0; i < apostadorObject.Length / 2; i++)
                {
                    if (Convert.ToString(apostadorObject[i, 1]) == cmbApostador.Text.ToString())
                    {
                        aposta.setIdApostador(Convert.ToInt32(apostadorObject[i, 0]));
                    }
                }

                Apostador apostador = new Apostador();

                apostador = apostadorDAO.listarApostador(aposta.getIdApostador());

                apostador.setValor(apostador.getValor() - aposta.getValor());

                if (apostador.getValor() > 0)
                {
                    apostadorDAO.alterarApostador(apostador);
                    // Armazena os valores das textbox na classe apostador

                    for (int i = 0; i < cavaloObject.Length / 2; i++)
                    {
                        if (Convert.ToString(cavaloObject[i, 1]) == cmbCavalo.Text.ToString())
                        {
                            aposta.setIdCavalo(Convert.ToInt32(cavaloObject[i, 0]));
                        }
                    }
                    for (int i = 0; i < corridaObject.Length / 2; i++)
                    {
                        if (Convert.ToString(corridaObject[i, 1]) == cmbCorrida.Text.ToString())
                        {
                            aposta.setIdCorrida(Convert.ToInt32(corridaObject[i, 0]));
                        }
                    }

                    // Manda a classe Apostador para o método criarApostador onde armazena os dados no banco de dados
                    apostaDAO.criarAposta(aposta);

                    txtValor.Clear();

                    txtValor.Focus();
                }
                else
                {
                    MessageBox.Show("O apostador não tem dinheiro suficiente para fazer a aposta!");
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Não foi possível cadastrar!");
            }
        }
示例#4
0
 public ActionResult Cadastrar(Aposta aposta)
 {
     _context.Apostas.Add(aposta);
     _context.SaveChanges();
     TempData["msg"] = "Cadastrado!";
     return(RedirectToAction("Cadastrar"));
 }
示例#5
0
        public Bolao GerarBolao(int quantidadeApostas, Concurso concurso)
        {
            Random random = new Random();
            Aposta aposta;

            for (int i = 0; i < quantidadeApostas; i++)
            {
                aposta          = new Aposta();
                aposta.Concurso = concurso;
                aposta.Data     = DateTime.Now;
                aposta.Validade = DateTime.Now.AddDays(+90);
                aposta.Valor    = 3.5m;
                for (int j = 0; j < 6; j++)
                {
                    var num = 0;
                    while (aposta.Numeros.Contains(num))
                    {
                        num = random.Next(1, 60);
                    }

                    aposta.Numeros.Add(num);
                }
                aposta.Numeros.Sort();
                this.Apostas.Add(aposta);
            }
            return(this);
        }
示例#6
0
        private static void RealizaSorteio(Aposta aposta)
        {
            List <Aposta> apostaVigentes = ApostasVigentes((int)aposta.tipoLoteria, (int)ResultadoSorteio.Apostado);
            int           counter        = 0;

            for (int i = 0; i < apostaVigentes.Count; i++)
            {
                for (int j = 0; j < apostaVigentes[i].numerosDaAposta.Count; j++)
                {
                    for (int z = 0; z < aposta.numerosDaAposta.Count; z++)
                    {
                        if (apostaVigentes[i].numerosDaAposta[j].numeroApostado == aposta.numerosDaAposta[z].numeroApostado)
                        {
                            counter++;
                        }
                    }
                }
                apostaVigentes[i].QuantidadeAcertos = counter;
                if ((counter == aposta.numerosDaAposta.Count) ||
                    (counter == (aposta.numerosDaAposta.Count - 1)) ||
                    (counter == (aposta.numerosDaAposta.Count - 2)))
                {
                    apostaVigentes[i].Resultado = (int)ResultadoSorteio.Ganhou;
                }
                else
                {
                    apostaVigentes[i].Resultado = (int)ResultadoSorteio.Perdeu;
                }
                apostaVigentes[i].CodSorteio = aposta.CodAposta;
                counter = 0;
                new ApostaDal().Salvar(apostaVigentes[i]);
            }
        }
示例#7
0
        public void VerificarAposta(Aposta aposta)
        {
            int dezenasAcertadas = 0;

            for (int i = 0; i < 6; i++)
            {
                for (int j = 0; j < 6; j++)
                {
                    if (_Resultado[i] == aposta._Dezenas[j])
                    {
                        dezenasAcertadas++;
                    }
                }
            }
            if (dezenasAcertadas == 4)
            {
                _Ganhadores.Add(new Ganhador {
                    Aposta = aposta, _TipoPremio = Ganhador.TipoPremio.QUADRA
                });
            }

            if (dezenasAcertadas == 5)
            {
                _Ganhadores.Add(new Ganhador {
                    Aposta = aposta, _TipoPremio = Ganhador.TipoPremio.QUINA
                });
            }

            if (dezenasAcertadas == 6)
            {
                _Ganhadores.Add(new Ganhador {
                    Aposta = aposta, _TipoPremio = Ganhador.TipoPremio.SENA
                });
            }
        }
示例#8
0
        public void Integration_DeletarAposta_Corretamente()
        {
            _aposta = ObjectMother.GetApostaComId();
            Action action = () => _service.Excluir(_aposta);

            action.Should().Throw <UnsupportedOperationException>();
        }
示例#9
0
        public void Integration_PegarApostaPorId_Corretamente()
        {
            Aposta aposta = _service.Get(1);

            aposta.Should().NotBeNull();
            aposta.Id.Should().BeGreaterThan(0);
        }
示例#10
0
        public void Domain_Aposta_Validar_Nao_Permitir_Numeros_Menores_Que_1()
        {
            _aposta = Common.Tests.Apostas.ObjectMother.GetApostaNumerosMaioresQue60();
            Action action = () => _aposta.Validar();

            action.Should().Throw <InvalidNumberException>();
        }
示例#11
0
        public void Integration_AdicionarAposta_Incorretamente_Com_Sete_Numeros_Apostados()
        {
            _aposta = ObjectMother.GetApostaSeteNumerosApostados();
            Action action = () => _service.Adicionar(_aposta);

            action.Should().Throw <InvalidBetException>();
        }
示例#12
0
        public void Domain_Aposta_Validar_Nao_Permitir_Numeros_Apostados_Vazios()
        {
            _aposta = Common.Tests.Apostas.ObjectMother.GetApostaSemNumerosApostados();
            Action action = () => _aposta.Validar();

            action.Should().Throw <InvalidBetException>();
        }
 public ActionResult Alterar(Aposta aposta)
 {
     _context.Entry(aposta).State = EntityState.Modified;
     _context.SaveChanges();
     TempData["msg"] = "Atualizado com sucesso";
     return(RedirectToAction("Listar"));
 }
 public void Initialize()
 {
     _aposta         = ObjectMother.GetAposta();
     _listDezenas    = ObjectMother.GetListDezenas();
     _mockRepository = new Mock <IResultadoRepository>();
     _service        = new ResultadoService(_mockRepository.Object);
 }
示例#15
0
        public async Task <bool> ValidaDezena_3(Aposta aposta)
        {
            var sorteiosConcurso = await _sorteioRepository.ObterSorteiosPorConcurso(aposta.ConcursoId);

            if (sorteiosConcurso.Any(x => aposta.Dezena_03.Equals(x.Dezena_01)))
            {
                return(true);
            }
            if (sorteiosConcurso.Any(x => aposta.Dezena_03.Equals(x.Dezena_02)))
            {
                return(true);
            }
            if (sorteiosConcurso.Any(x => aposta.Dezena_03.Equals(x.Dezena_03)))
            {
                return(true);
            }
            if (sorteiosConcurso.Any(x => aposta.Dezena_03.Equals(x.Dezena_04)))
            {
                return(true);
            }
            if (sorteiosConcurso.Any(x => aposta.Dezena_03.Equals(x.Dezena_05)))
            {
                return(true);
            }

            return(false);
        }
示例#16
0
        public void Integration_GerarApostaAutomaticamente_Corretamente()
        {
            Aposta aposta = new Aposta(new Concurso());

            _service.GerarApostaAutomaticamente(aposta);
            aposta.numerosApostados.Count.Should().Be(6);
        }
示例#17
0
        public static void SalvaAposta(Aposta aposta, int[] numeros)
        {
            int codAposta    = new ApostaDal().Salvar(aposta);
            int quantNumeros = numeros.Length;
            List <NumeroApostado> numerosAposta = new List <NumeroApostado>();

            for (int i = 0; i < quantNumeros; i++)
            {
                NumeroApostado novoNumero = new NumeroApostado
                {
                    CodAposta      = codAposta,
                    numeroApostado = numeros[i]
                };
                novoNumero.CodNumeroApostado = new NumeroApostadoDal().Salvar(novoNumero);
                numerosAposta.Add(novoNumero);
            }
            aposta.numerosDaAposta = numerosAposta;
            aposta.CodAposta       = codAposta;
            if (aposta.Sorteio)
            {
                aposta.numerosDaAposta = numerosAposta;
                aposta.CodAposta       = codAposta;
                RealizaSorteio(aposta);
            }
        }
示例#18
0
 public Aposta Adicionar(Aposta entidade)
 {
     entidade.Validar();
     entidade.Id = Db.Insert(_sqlAdd, Take(entidade));
     _concursoRepository.Editar(entidade.concurso);
     return(entidade);
 }
示例#19
0
        public void Initialize()
        {
            _fakeBolao    = new Mock <Bolao>();
            _fakeConcurso = new Mock <Concurso>();

            _aposta = ObjectMother.GetAposta(_fakeBolao.Object, _fakeConcurso.Object);

            listApostas = new List <Aposta>();
            listApostas.Add(_aposta);

            _fakePrimeiraDezena = new Mock <Dezena>();
            _fakeSegundaDezena  = new Mock <Dezena>();
            _fakeTerceiraDezena = new Mock <Dezena>();
            _fakeQuartaDezena   = new Mock <Dezena>();
            _fakeQuintaDezena   = new Mock <Dezena>();
            _fakeSextaDezena    = new Mock <Dezena>();

            listDezenas = new List <Dezena>()
            {
                _fakePrimeiraDezena.Object,
                _fakeSegundaDezena.Object,
                _fakeTerceiraDezena.Object,
                _fakeQuartaDezena.Object,
                _fakeQuintaDezena.Object,
                _fakeSextaDezena.Object
            };

            _aposta._Dezenas = listDezenas;
        }
示例#20
0
        public bool VerificarDuplicidade(int[] numero, string modeloAposta)
        {
            Aposta aposta = _apostas
                            .FirstOrDefault(x => x.Comparar(numero) && x.ModeloAposta == modeloAposta);

            return(aposta != null);
        }
 public ActionResult Cadastrar(Aposta aposta)
 {
     _unit.ApostaRepository.Cadastrar(aposta);
     _unit.Salvar();
     TempData["msg"] = "Aposta registrada!";
     return(View());
 }
示例#22
0
        public List <Aposta> ObterDezenasIguais(string modeloAposta, int id, int quantidade)
        {
            Aposta apostaSorteada = _apostas.FirstOrDefault(x => x.Id == id && x.ModeloAposta == modeloAposta);
            IEnumerable <Aposta> apostasModelo = _apostas.Where(x => x.ModeloAposta == modeloAposta);
            List <Aposta>        apostas       = new List <Aposta>();

            foreach (Aposta ap in apostasModelo)
            {
                int quant = 0;

                foreach (int dez in ap.Numero)
                {
                    if (apostaSorteada.Numero.Contains(dez))
                    {
                        quant++;
                    }
                }

                if (quant == quantidade)
                {
                    apostas.Add(ap);
                }
            }

            return(apostas);
        }
示例#23
0
        public void Test_Aposta_ShouldValidateAllOk()
        {
            _aposta = ObjectMother.GetValidAposta(_concurso.Object);
            Action action = () => _aposta.Validar();

            action.Should().NotThrow();
        }
示例#24
0
        public void AdicionarGanhador(Aposta aposta, int tipoPremio)
        {
            if (tipoPremio >= 4 && tipoPremio <= 6)
            {
                Ganhador ganhador = new Ganhador();
                ganhador.aposta     = aposta;
                ganhador.tipoPremio = tipoPremio;
                ganhadores.Add(ganhador);
            }

            switch (tipoPremio)
            {
            case 4:
                qtdAcertadoresQuadra += 1;
                break;

            case 5:
                qtdAcertadoresQuina += 1;
                break;

            case 6:
                qtdAcertadoresSena += 1;
                break;

            default:
                break;
            }
        }
示例#25
0
        public void Infra_Aposta_SQLRepository_Deveria_Excluir_Aposta()
        {
            _aposta = ObjectMother.GetApostaComId();
            Action action = () => _repository.Excluir(_aposta.Id);

            action.Should().Throw <UnsupportedOperationException>();
        }
        public IHttpActionResult Put([FromBody] Aposta aposta)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            try
            {
                //ApostaValidation validator = new ApostaValidation();
                //ValidationResult result = validator.Validate(aposta);
                //if (!result.IsValid)
                //{
                //    var erros = "";
                //    result.Errors.ToList()
                //        .ForEach(e => erros +=
                //        string.Format($"{e.PropertyName} : {e.ErrorMessage}\n"));

                //    return BadRequest(erros);
                //}

                RepositoryApostas.Atualizar(aposta);
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#27
0
        /// <summary>
        /// Inseri no banco de dados o <paramref name="aposta"/>
        /// </summary>
        /// <param name="aposta">
        /// Aposta com os seus gets e sets.
        /// </param>
        public void criarAposta(Aposta aposta)
        {
            conn = ConnexionDataBase.obterConexao();
            string queryString = "insert into Aposta values (@idApostador, @idCavalo, @idCorrida, @valor)";

            try
            {
                SqlCommand cmd = new SqlCommand(queryString, conn);
                cmd.Parameters.Add("@idApostador", SqlDbType.Int).Value = aposta.getIdApostador();
                cmd.Parameters.Add("@idCavalo", SqlDbType.Int).Value    = aposta.getIdCavalo();
                cmd.Parameters.Add("@idCorrida", SqlDbType.Int).Value   = aposta.getIdCorrida();
                cmd.Parameters.Add("@valor", SqlDbType.Money).Value     = aposta.getValor();

                cmd.ExecuteScalar();

                MessageBox.Show("Registro inserido com sucesso!");
            }
            catch (Exception error)
            {
                MessageBox.Show("Erro: " + error);
            }
            finally
            {
                ConnexionDataBase.fecharConexao();
            }
        }
示例#28
0
 public void SetUp()
 {
     _repository = new Mock <IConcursoRepository>();
     _servico    = new ConcursoServico(_repository.Object);
     _concurso   = ObjectMother.GetValidConcursoAberto();
     _aposta     = ObjectMother.GetValidAposta(_concurso);
 }
        public void Post(Apostador apostador)
        {
            if (apostador == null)
            {
                throw new Exception("Parâmetro inválido. Apostador");
            }

            if (apostador.Apostas == null)
            {
                throw new Exception("Parâmetro inválido. Apostas");
            }

            for (int i = 0; i < apostador.Apostas.Count; i++)
            {
                Aposta   aposta   = apostador.Apostas[i];
                Concurso concurso = new GuiaDoApostadorDominio.Controllers.ConcursoController(aposta.TipoConcurso).Buscar(aposta.ConcursoID);

                if (concurso != null && concurso.ID > 0)
                {
                    string json = JsonConvert.SerializeObject(concurso);

                    PushAndroid push = new PushAndroid();

                    push.RegistrationIDS.Add(apostador.RegistrationID);
                    push.SenderID      = ConfigurationManager.AppSettings["SenderIDAndroid"];
                    push.ApplicationID = ConfigurationManager.AppSettings["ApplicationIDAndroid"];
                    push.Title         = ConfigurationManager.AppSettings["TituloPushAndroid"];
                    push.Message       = ConfigurationManager.AppSettings["MensagemPadraoPushAndroid"];
                    push.Data          = json;
                    new PushFacade(PushNotification.Dominio.Enum.Platform.Android).Send(push);
                    //manda o push
                }
            }
        }
示例#30
0
 public static List <Dezena> GetListDezenas(Aposta aposta)
 {
     return(new List <Dezena>()
     {
         new Dezena()
         {
             _Dezena = 1, _Aposta = aposta
         },
         new Dezena()
         {
             _Dezena = 2, _Aposta = aposta
         },
         new Dezena()
         {
             _Dezena = 3, _Aposta = aposta
         },
         new Dezena()
         {
             _Dezena = 4, _Aposta = aposta
         },
         new Dezena()
         {
             _Dezena = 5, _Aposta = aposta
         },
         new Dezena()
         {
             _Dezena = 6, _Aposta = aposta
         }
     });
 }