private Concurso deserializaConcurso(dynamic obj)
        {
            Lotogol loteria = new Lotogol()
            {
                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(".", "")),
                ValorAcumuladoFaixa1 = Convert.ToDecimal(obj.concurso.valor_acumulado_faixa_1.ToString().Replace(".", "")),
                ValorAcumuladoFaixa2 = Convert.ToDecimal(obj.concurso.valor_acumulado_faixa_2.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<JogoLotogol>()
            {
                new JogoLotogol(obj.concurso.jogos.jogo1.data.ToString())
                {
                     NumeroJogo = 1,
                     Time1 = new JogoTimePadrao()
                     {
                         Gols = (byte)obj.concurso.jogos.jogo1.time1.gols,
                         Time = (string)obj.concurso.jogos.jogo1.time1.time
                     },
                     Time2 = new JogoTimePadrao()
                     {
                         Gols = (byte)obj.concurso.jogos.jogo1.time2.gols,
                         Time = (string)obj.concurso.jogos.jogo1.time2.time
                     }
                },
                new JogoLotogol(obj.concurso.jogos.jogo2.data.ToString())
                {
                     NumeroJogo = 2,
                     Time1 = new JogoTimePadrao()
                     {
                         Gols = (byte)obj.concurso.jogos.jogo2.time1.gols,
                         Time = (string)obj.concurso.jogos.jogo2.time1.time
                     },
                     Time2 = new JogoTimePadrao()
                     {
                         Gols = (byte)obj.concurso.jogos.jogo2.time2.gols,
                         Time = (string)obj.concurso.jogos.jogo2.time2.time
                     }
                },
                new JogoLotogol(obj.concurso.jogos.jogo3.data.ToString())
                {
                     NumeroJogo = 3,
                     Time1 = new JogoTimePadrao()
                     {
                         Gols = (byte)obj.concurso.jogos.jogo3.time1.gols,
                         Time = (string)obj.concurso.jogos.jogo3.time1.time
                     },
                     Time2 = new JogoTimePadrao()
                     {
                         Gols = (byte)obj.concurso.jogos.jogo3.time2.gols,
                         Time = (string)obj.concurso.jogos.jogo3.time2.time
                     }
                },
                new JogoLotogol(obj.concurso.jogos.jogo4.data.ToString())
                {
                     NumeroJogo = 4,
                     Time1 = new JogoTimePadrao()
                     {
                         Gols = (byte)obj.concurso.jogos.jogo4.time1.gols,
                         Time = (string)obj.concurso.jogos.jogo4.time1.time
                     },
                     Time2 = new JogoTimePadrao()
                     {
                         Gols = (byte)obj.concurso.jogos.jogo4.time2.gols,
                         Time = (string)obj.concurso.jogos.jogo4.time2.time
                     }
                },
                new JogoLotogol(obj.concurso.jogos.jogo5.data.ToString())
                {
                     NumeroJogo = 5,
                     Time1 = new JogoTimePadrao()
                     {
                         Gols = (byte)obj.concurso.jogos.jogo5.time1.gols,
                         Time = (string)obj.concurso.jogos.jogo5.time1.time
                     },
                     Time2 = new JogoTimePadrao()
                     {
                         Gols = (byte)obj.concurso.jogos.jogo5.time2.gols,
                         Time = (string)obj.concurso.jogos.jogo5.time2.time
                     }
                },
            };


            loteria.Premios = new List<PremioPadrao>()
            {
                new PremioPadrao()
                {
                    Acertos = 5,
                    ValorPago = Convert.ToDecimal(obj.concurso.premiacao.premio_1.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao.premio_1.ganhadores.ToString().Replace(".", ""))
                },
                new PremioPadrao()
                {
                    Acertos = 4,
                    ValorPago = Convert.ToDecimal(obj.concurso.premiacao.premio_2.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao.premio_2.ganhadores.ToString().Replace(".", ""))
                },
                new PremioPadrao()
                {
                    Acertos = 3,
                    ValorPago = Convert.ToDecimal(obj.concurso.premiacao.premio_3.valor_pago.ToString().Replace(".", "")),
                    Ganhadores = Convert.ToInt32(obj.concurso.premiacao.premio_3.ganhadores.ToString().Replace(".", ""))
                },
            };

            return loteria;
        }
Exemple #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 buscar(int? id)
        {
            Lotogol con = new Lotogol();

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

                    using (IDataReader dr = cn.ExecuteReader("sp_buscaConcursoLotogol", 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.ValorAcumuladoFaixa1 = Convert.ToDecimal(dr["valorAcumulado1"]);
                            con.ValorAcumuladoFaixa2 = Convert.ToDecimal(dr["valorAcumulado2"]);
                            con.ArrecadacaoTotal = Convert.ToDecimal(dr["arrecadacaoTotal"]);
                            con.ProximoConcurso.Data = Convert.ToDateTime(dr["proximoConcursoData"]);
                            con.ProximoConcurso.ValorEstimado = Convert.ToDecimal(dr["proximoConcursoValorEstimado"]);
                        }
                    }

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

                            while (dr.Read())
                            {
                                JogoLotogol jogo = new JogoLotogol()
                                {
                                    NumeroJogo = Convert.ToInt32(dr["jogo"]),
                                    Time1 = new JogoTimePadrao()
                                    {
                                        Time = Convert.ToString(dr["time1"]),
                                        Gols = Convert.ToByte(dr["gols1"]),
                                    },
                                    Time2 = 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_buscaPremiosLotogol", 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;
        }