コード例 #1
0
        public void Infra_Aposta_SQLRepository_Deveria_BuscarPorConcursoId()
        {
            List <Aposta> apostas = ObjectMother.GetApostas();

            foreach (var item in apostas)
            {
                _repository.Adicionar(item);
            }
            var apostasBanco = _repository.GetByConcursoId(1);

            apostasBanco.Count().Should().Be(2);
        }
コード例 #2
0
        public ResultadoConcurso GerarResultadoConcurso(ResultadoConcurso resultadoConcurso, Random random)
        {
            resultadoConcurso.LimparCamposGanhadores();
            resultadoConcurso.CalculaNumeroResultado(random);
            List <Aposta> apostasDoConcurso = new List <Aposta>();

            apostasDoConcurso = _apostaRepository.GetByConcursoId(resultadoConcurso.concurso.Id);
            foreach (var aposta in apostasDoConcurso)
            {
                var resultadoDaAposta = aposta.CalcularResultadoBilhete(resultadoConcurso.numerosResultado);
                if (resultadoDaAposta >= 4)
                {
                    resultadoConcurso.AdicionarGanhador(aposta, resultadoDaAposta);
                }
            }
            resultadoConcurso.AdicionarPremioPorGanhador();
            List <Aposta> apostasDoConcursoDeBoloes = new List <Aposta>();

            apostasDoConcursoDeBoloes = _apostaRepository.GetByConcursoIdComBolao(resultadoConcurso.concurso.Id);
            resultadoConcurso.faturamento.CalcularFaturamentoELucro(apostasDoConcurso.Count, apostasDoConcursoDeBoloes.Count);
            return(resultadoConcurso);
        }