private Concurso deserializaConcurso(dynamic obj) { Loteca loteria = new Loteca() { ID = obj.concurso.numero, Data = DateTime.ParseExact(obj.concurso.data.ToString(), "dd/MM/yyyy", new CultureInfo("pt-BR")), ArrecadacaoTotal = Convert.ToDecimal(obj.concurso.arrecadacao_total.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.Jogos = new List <JogoLoteca>(); //Retiraram da API a coluna meio com o X. Por isso estou verificando a quantidade de gols de cada time. foreach (var jogo in obj.concurso.jogos) { JogoLoteca jogoLoteca = new JogoLoteca((string)jogo.data) { Coluna1 = new JogoTimePadrao((string)jogo.coluna_1.time, (byte)jogo.coluna_1.gols), Coluna2 = new JogoTimePadrao((string)jogo.coluna_2.time, (byte)jogo.coluna_2.gols) }; loteria.Jogos.Add(jogoLoteca); } loteria.Premios = new List <PremioPadrao>() { new PremioPadrao() { Acertos = 14, ValorPago = Convert.ToDecimal(obj.concurso.premiacao.acertos_14.valor_pago.ToString().Replace(".", "")), Ganhadores = Convert.ToInt32(obj.concurso.premiacao.acertos_14.ganhadores.ToString().Replace(".", "")) }, new PremioPadrao() { Acertos = 13, ValorPago = Convert.ToDecimal(obj.concurso.premiacao.acertos_13.valor_pago.ToString().Replace(".", "")), Ganhadores = Convert.ToInt32(obj.concurso.premiacao.acertos_13.ganhadores.ToString().Replace(".", "")) } }; loteria.ProximoConcursoFinalCinco = new ConcursoFinalCinco() { Numero = obj.concurso_final_cinco.numero, ValorAcumulado = Convert.ToDecimal(obj.concurso_final_cinco.valor_acumulado.ToString().Replace(".", "")) }; return(loteria); }
/// <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 buscar(int?id) { Loteca con = new Loteca(); try { using (cn) { cn.Open(); using (IDataReader dr = cn.ExecuteReader("sp_buscaConcursoLoteca", 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.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.ProximoConcursoFinalCinco = new ConcursoFinalCinco() { Numero = Convert.ToInt32(dr["especialNumero"]), ValorAcumulado = Convert.ToInt32(dr["especialValorAcumulado"]) }; } } if (con.ID != 0) { using (IDataReader dr = cn.ExecuteReader("sp_buscaDezenasLoteca", new { @IdConcurso = con.ID }, commandType: CommandType.StoredProcedure)) { con.Jogos = new List <JogoLoteca>(); while (dr.Read()) { JogoLoteca jogo = new JogoLoteca() { Coluna1 = new JogoTimePadrao() { Time = Convert.ToString(dr["time1"]), Gols = Convert.ToByte(dr["gols1"]), }, Coluna2 = new JogoTimePadrao() { Time = Convert.ToString(dr["time2"]), Gols = Convert.ToByte(dr["gols2"]), }, DiaDaSemana = (Semana)Convert.ToInt32(dr["diaSemana"]) }; con.Jogos.Add(jogo); } } using (IDataReader dr = cn.ExecuteReader("sp_buscaPremiosLoteca", 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); }