Exemple #1
0
        static void Main(string[] args)
        {
            int opt = 0;

            Console.WriteLine("Escolha o tipo de sorteio:");
            Console.WriteLine("1 - Megasena");
            Console.WriteLine("2 - Quina");
            Console.WriteLine("3 - Lotomania");
            Console.WriteLine("4 - Lotofacil");

            var k = Console.ReadLine();

            int.TryParse(k, out opt);

            Lottery lottery = null;
            int     bids    = 0;

            switch (opt)
            {
            case 1:
            {
                lottery = new Mega();
                bids    = 6;
                break;
            }

            case 2:
            {
                lottery = new Quina();
                bids    = 5;
                break;
            }

            case 3:
            {
                lottery = new Lotomania();
                bids    = 50;
                break;
            }

            case 4:
            {
                lottery = new Lotofacil();
                bids    = 15;
                break;
            }
            }

            while (true)
            {
                var output = string.Join("\t", lottery.Drawn(bids));
                File.AppendAllText("output.txt", output + "\n");
                Console.WriteLine(output);
                Console.ReadKey();
            }
        }
        private Concurso buscar(int?id)
        {
            Lotomania con = new Lotomania();

            try
            {
                using (cn)
                {
                    cn.Open();

                    using (IDataReader dr = cn.ExecuteReader("sp_buscaConcursoLotomania", new { @IdConcurso = id }, commandType: CommandType.StoredProcedure))
                    {
                        if (dr.Read())
                        {
                            con.ProximoConcurso = new ProximoConcurso();

                            con.ID                            = Convert.ToInt32(dr["idConcurso"]);
                            con.Data                          = Convert.ToDateTime(dr["data"]);
                            con.Cidade                        = Convert.ToString(dr["cidade"]);
                            con.Local                         = Convert.ToString(dr["local"]);
                            con.ValorAcumulado                = Convert.ToDecimal(dr["valorAcumulado"]);
                            con.ArrecadacaoTotal              = Convert.ToDecimal(dr["arrecadacaoTotal"]);
                            con.ProximoConcurso.Data          = Convert.ToDateTime(dr["proximoConcursoData"]);
                            con.ProximoConcurso.ValorEstimado = Convert.ToDecimal(dr["proximoConcursoValorEstimado"]);
                            con.EspecialValorAcumulado        = Convert.ToDecimal(dr["especialValorAcumulado"]);
                        }
                    }

                    if (con.ID != 0)
                    {
                        using (IDataReader dr = cn.ExecuteReader("sp_buscaDezenasLotomania", new { @IdConcurso = con.ID }, commandType: CommandType.StoredProcedure))
                        {
                            con.Dezenas = new List <byte>();

                            while (dr.Read())
                            {
                                con.Dezenas.Add(Convert.ToByte(dr["dezena"]));
                            }
                        }

                        using (IDataReader dr = cn.ExecuteReader("sp_buscaPremiosLotomania", new { @IdConcurso = con.ID }, commandType: CommandType.StoredProcedure))
                        {
                            con.Premios = new List <PremioPadrao>();

                            while (dr.Read())
                            {
                                PremioPadrao premio = new PremioPadrao()
                                {
                                    Acertos    = Convert.ToByte(dr["acertos"]),
                                    Ganhadores = Convert.ToInt32(dr["ganhadores"]),
                                    ValorPago  = Convert.ToDecimal(dr["valorPago"])
                                };

                                con.Premios.Add(premio);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(con);
        }
        private Concurso deserializaConcurso(dynamic obj)
        {
            Lotomania loteria = new Lotomania()
            {
                ID                     = obj.concurso.numero,
                Data                   = DateTime.ParseExact(obj.concurso.data.ToString(), "dd/MM/yyyy", new CultureInfo("pt-BR")),
                Cidade                 = obj.concurso.cidade,
                Local                  = obj.concurso.local,
                ValorAcumulado         = Convert.ToDecimal(obj.concurso.valor_acumulado.ToString().Replace(".", "")),
                ArrecadacaoTotal       = Convert.ToDecimal(obj.concurso.arrecadacao_total.ToString().Replace(".", "")),
                EspecialValorAcumulado = Convert.ToDecimal(obj.especial_pascoa_valor_acumulado.ToString().Replace(".", ""))
            };

            loteria.Dezenas = new List <byte>();
            foreach (byte dezena in obj.concurso.numeros_sorteados)
            {
                loteria.Dezenas.Add(dezena);
            }

            loteria.Premios = new List <PremioPadrao>()
            {
                new PremioPadrao()
                {
                    Acertos    = 20,
                    ValorPago  = Convert.ToDecimal(obj.concurso.premiacao.acertos_20.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao.acertos_20.ganhadores.ToString().Replace(".", ""))
                },
                new PremioPadrao()
                {
                    Acertos    = 19,
                    ValorPago  = Convert.ToDecimal(obj.concurso.premiacao.acertos_19.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao.acertos_19.ganhadores.ToString().Replace(".", ""))
                },
                new PremioPadrao()
                {
                    Acertos    = 18,
                    ValorPago  = Convert.ToDecimal(obj.concurso.premiacao.acertos_18.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao.acertos_18.ganhadores.ToString().Replace(".", ""))
                },
                new PremioPadrao()
                {
                    Acertos    = 17,
                    ValorPago  = Convert.ToDecimal(obj.concurso.premiacao.acertos_17.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao.acertos_17.ganhadores.ToString().Replace(".", ""))
                },
                new PremioPadrao()
                {
                    Acertos    = 16,
                    ValorPago  = Convert.ToDecimal(obj.concurso.premiacao.acertos_16.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao.acertos_16.ganhadores.ToString().Replace(".", ""))
                },
                new PremioPadrao()
                {
                    Acertos    = 0,
                    ValorPago  = Convert.ToDecimal(obj.concurso.premiacao.acertos_0.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao.acertos_0.ganhadores.ToString().Replace(".", ""))
                },
            };

            loteria.ProximoConcurso = new ProximoConcurso()
            {
                Data          = DateTime.ParseExact(obj.proximo_concurso.data.ToString(), "dd/MM/yyyy", new CultureInfo("pt-BR")),
                ValorEstimado = Convert.ToDecimal(obj.proximo_concurso.valor_estimado.ToString().Replace(".", ""))
            };

            return(loteria);
        }
Exemple #4
0
        /// <summary>
        /// Apenas um método de mock,
        /// se for implementar algum mock usar um framework voltado para mock.
        /// </summary>
        /// <param name="loteria"></param>
        /// <returns></returns>
        public Concurso BuscaConcurso(Loteria loteria, int idConcurso)
        {
            Concurso con = null;

            // Atribuir valores de exemplo, fiz so o da lotofacil

            switch (loteria)
            {
            case Loteria.DuplaSena:
                con = new DuplaSena()
                {
                    ID = idConcurso
                };
                break;

            case Loteria.Federal:
                con = new Federal()
                {
                    ID = idConcurso
                };
                break;

            case Loteria.Loteca:
                con = new Loteca()
                {
                    ID = idConcurso
                };
                break;

            case Loteria.Lotofacil:

                con = new LotofacilControllerMock().Buscar(idConcurso);

                break;

            case Loteria.Lotogol:
                con = new Lotogol()
                {
                    ID = idConcurso
                };
                break;

            case Loteria.Lotomania:
                con = new Lotomania()
                {
                    ID = idConcurso
                };
                break;

            case Loteria.MegaSena:

                con = new MegaSenaControllerMock().Buscar(idConcurso);

                break;

            case Loteria.Quina:
                con = new Quina()
                {
                    ID = idConcurso
                };
                break;

            case Loteria.Timemania:
                con = new Timemania()
                {
                    ID = idConcurso
                };
                break;

            default:
                break;
            }

            return(con);
        }