private Concurso buscar(int?id)
        {
            DuplaSena con = new DuplaSena();

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

                    using (IDataReader dr = cn.ExecuteReader("sp_buscaConcursoDuplaSena", 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        = dr["especialValorAcumulado"] == DBNull.Value ? (decimal?)null : Convert.ToDecimal(dr["especialValorAcumulado"]);
                        }
                    }

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

                            while (dr.Read())
                            {
                                DezenaDuplaSena dezena = new DezenaDuplaSena()
                                {
                                    Sorteio = Convert.ToByte(dr["sorteio"]),
                                    Dezena  = Convert.ToByte(dr["dezena"]),
                                };

                                con.Dezenas.Add(dezena);
                            }
                        }

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

                            while (dr.Read())
                            {
                                PremioDuplaSena premio = new PremioDuplaSena()
                                {
                                    Sorteio    = Convert.ToByte(dr["sorteio"]),
                                    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);
        }
예제 #2
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);
        }
        private Concurso deserializaConcurso(dynamic obj)
        {
            DuplaSena loteria = new DuplaSena()
            {
                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(".", ""))
            };

            loteria.Dezenas = new List <DezenaDuplaSena>();

            foreach (byte dezena in obj.concurso.numeros_sorteados_1)
            {
                DezenaDuplaSena d = new DezenaDuplaSena()
                {
                    Sorteio = 1,
                    Dezena  = dezena
                };

                loteria.Dezenas.Add(d);
            }

            foreach (byte dezena in obj.concurso.numeros_sorteados_2)
            {
                DezenaDuplaSena d = new DezenaDuplaSena()
                {
                    Sorteio = 2,
                    Dezena  = dezena
                };

                loteria.Dezenas.Add(d);
            }

            loteria.Premios = new List <PremioDuplaSena>()
            {
                new PremioDuplaSena()
                {
                    Acertos    = 6,
                    ValorPago  = Convert.ToDecimal(obj.concurso.premiacao_1.sena.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao_1.sena.ganhadores.ToString().Replace(".", "")),
                    Sorteio    = 1
                },
                new PremioDuplaSena()
                {
                    Acertos    = 5,
                    ValorPago  = Convert.ToDecimal(obj.concurso.premiacao_1.quina.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao_1.quina.ganhadores.ToString().Replace(".", "")),
                    Sorteio    = 1
                },
                new PremioDuplaSena()
                {
                    Acertos    = 4,
                    ValorPago  = Convert.ToDecimal(obj.concurso.premiacao_1.quadra.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao_1.quadra.ganhadores.ToString().Replace(".", "")),
                    Sorteio    = 1
                },
                new PremioDuplaSena()
                {
                    Acertos    = 6,
                    ValorPago  = Convert.ToDecimal(obj.concurso.premiacao_2.sena.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao_2.sena.ganhadores.ToString().Replace(".", "")),
                    Sorteio    = 2
                },
                new PremioDuplaSena()
                {
                    Acertos    = 5,
                    ValorPago  = Convert.ToDecimal(obj.concurso.premiacao_2.quina.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao_2.quina.ganhadores.ToString().Replace(".", "")),
                    Sorteio    = 2
                },
                new PremioDuplaSena()
                {
                    Acertos    = 4,
                    ValorPago  = Convert.ToDecimal(obj.concurso.premiacao_2.quadra.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao_2.quadra.ganhadores.ToString().Replace(".", "")),
                    Sorteio    = 2
                }
            };

            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);
        }