private Concurso buscar(int?id) { Timemania con = new Timemania(); try { using (cn) { cn.Open(); using (IDataReader dr = cn.ExecuteReader("sp_buscaConcursoTimemania", 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"]); con.TimeCoracao = new TimeCoracao() { Nome = Convert.ToString(dr["timeCoracao"]), ValorPago = Convert.ToDecimal(dr["valorPago"]), Ganhadores = Convert.ToInt32(dr["ganhadores"]) }; } } if (con.ID != 0) { using (IDataReader dr = cn.ExecuteReader("sp_buscaDezenasTimemania", 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_buscaPremiosTimemania", 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); }
/// <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) { Timemania loteria = new Timemania() { 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 <byte>(); foreach (byte dezena in obj.concurso.numeros_sorteados) { loteria.Dezenas.Add(dezena); } loteria.Premios = new List <PremioPadrao>() { new PremioPadrao() { Acertos = 7, ValorPago = Convert.ToDecimal(obj.concurso.premiacao.acertos_7.valor_pago.ToString().Replace(".", "")), Ganhadores = Convert.ToInt32(obj.concurso.premiacao.acertos_7.ganhadores.ToString().Replace(".", "")) }, new PremioPadrao() { Acertos = 6, ValorPago = Convert.ToDecimal(obj.concurso.premiacao.acertos_6.valor_pago.ToString().Replace(".", "")), Ganhadores = Convert.ToInt32(obj.concurso.premiacao.acertos_6.ganhadores.ToString().Replace(".", "")) }, new PremioPadrao() { Acertos = 5, ValorPago = Convert.ToDecimal(obj.concurso.premiacao.acertos_5.valor_pago.ToString().Replace(".", "")), Ganhadores = Convert.ToInt32(obj.concurso.premiacao.acertos_5.ganhadores.ToString().Replace(".", "")) }, new PremioPadrao() { Acertos = 4, ValorPago = Convert.ToDecimal(obj.concurso.premiacao.acertos_4.valor_pago.ToString().Replace(".", "")), Ganhadores = Convert.ToInt32(obj.concurso.premiacao.acertos_4.ganhadores.ToString().Replace(".", "")) }, new PremioPadrao() { Acertos = 3, ValorPago = Convert.ToDecimal(obj.concurso.premiacao.acertos_3.valor_pago.ToString().Replace(".", "")), Ganhadores = Convert.ToInt32(obj.concurso.premiacao.acertos_3.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(".", "")) }; loteria.TimeCoracao = new TimeCoracao(); loteria.TimeCoracao.Nome = obj.concurso.time_coracao.time; loteria.TimeCoracao.Ganhadores = obj.concurso.time_coracao.ganhadores; loteria.TimeCoracao.ValorPago = Convert.ToDecimal(obj.concurso.time_coracao.valor_pago.ToString().Replace(".", "")); loteria.ProximoConcursoFinalCinco = new ConcursoFinalCinco(); loteria.ProximoConcursoFinalCinco.Numero = obj.concurso_final_cinco.numero; loteria.ProximoConcursoFinalCinco.ValorAcumulado = Convert.ToDecimal(obj.concurso_final_cinco.valor_acumulado.ToString().Replace(".", "")); return(loteria); }