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