/// <summary>
        /// Insere as informações de jogos na base de dados
        /// </summary>
        public void CriarEntradasDeJogos()
        {
            CriarEntradasDeRodadas();
            CriarEntradasDeAnoCompeticaoRodadas();
            CriarEntradasDeAnoCompeticaoTimes();

            JObject obj = ObterDadosSerializados();
            JToken token = obj["lista_de_jogos"]["campeonato"]["edicao_campeonato"]["fases"][0];
            JToken dados = token["jogos"];

            JogoBO jogoBO = new JogoBO();
            EstadioBO estadioBO = new EstadioBO();
            CompeticaoAnoRodadaBO competicaoAnoRodadaBO = new CompeticaoAnoRodadaBO();

            foreach (JToken t in dados)
            {
                JogoVO jogo = new JogoVO();
                jogo.Campo("id_jogo").Valor = (Int32)t["jogo_id"];
                jogo.Campo("id_competicao_ano_rodada").Valor = competicaoAnoRodadaBO.ObterDadosVOPorCampo("id_rodada",
                                                               Convert.ToString((Int32)t["rodada"]), true)
                                                               .Campo("id_competicao_ano_rodada").Valor;
                /* O procedimento acima também poderia ser reescrito da seguinte forma:
                 *
                 *
                 *
                 * BaseVO competicao = competicaoAnoRodadaBO
                 *                     .ObterDadosVOPorCampo("id_rodada", Convert.ToString((Int32)t["rodada"]), true);
                 *
                 * jogo.Campo("id_competicao_ano_rodada).Valor = competicao.Campo("id_competicao").Valor;
                 *
                 *                                                                                               *vrl
                 */

                jogo.Campo("id_local").Valor = estadioBO.ObterDadosVOPorCampo("descricao", ((String)t["local_jogo"]).Trim(),
                                                                              true).Campo("id_local").Valor;

                if (!((String)t["hora"] == null)) //Ainda há jogos sem definição de horário.
                {
                    String sHora = ConverterHora(((String)t["hora"]).Trim());
                    jogo.Campo("dt_jogo").Valor = ((String)t["data_original"]).Trim() + " " + sHora;
                }
                else
                { //Zerar hora e data, mas inserir tabela com os próximos jogos

                    String sHora = ConverterHora("00h00");
                    jogo.Campo("dt_jogo").Valor = "01-01-1900 " + sHora;
                }

                if (!jogoBO.ExisteRegistro("id_jogo", jogo.Campo("id_jogo").Valor.ToString().Trim(), jogo))
                    jogoBO.Incluir(jogo);

            }
        }
        /// <summary>
        /// Insere as informações de estádios na base de dados
        /// </summary>
        public void CriarEntradasDeEstadios()
        {
            JObject obj = ObterDadosSerializados();
            JToken token = obj["lista_de_jogos"]["campeonato"]["edicao_campeonato"];
            JToken dados = token["sedes"];

            EstadioBO estadioBO = new EstadioBO();

            JObject o = JObject.Parse(dados.ToString());

            foreach (JToken t in o.Values())
            {
                String tmp = (String)t["localizacao"];
                String[] sp = tmp.Split(',');

                BaseVO cidade = new CidadeBO().ObterDadosVOPorCampo("descricao", sp[0].Trim(), true);
                if (!cidade.Campo("id_cidade").Valor.Equals(null))
                {
                    EstadioVO estadio = new EstadioVO();
                    estadio.Campo("descricao").Valor = (String)t["nome_popular"];
                    estadio.Campo("id_cidade").Valor = cidade.Campo("id_cidade").Valor;

                    if (!estadioBO.ExisteRegistro("descricao", estadio.Campo("descricao").Valor.ToString().Trim(), estadio))
                        estadioBO.Incluir(estadio);
                }
            }
        }