public DataTable CriarEntradasProximaRodada() { JObject obj = ObterDadosSerializados(); JToken token = obj["lista_de_jogos"]["campeonato"]["edicao_campeonato"]["fases"][0]; JToken dados = token["jogos"]; BaseVO competicao_ano_rodada = new CompeticaoAnoRodadaBO().ObterDadosVOPorCampo("id_rodada", String.Empty, true); Int32 rodada = Convert.ToInt32(competicao_ano_rodada.Campo("id_rodada").Valor); DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("JogoID", typeof(string))); dt.Columns.Add(new DataColumn("Data", typeof(string))); dt.Columns.Add(new DataColumn("Hora", typeof(string))); dt.Columns.Add(new DataColumn("Local", typeof(string))); dt.Columns.Add(new DataColumn("Mandante", typeof(object))); dt.Columns.Add(new DataColumn("Visitante", typeof(object))); List<String> lista = new List<String>(); foreach (JToken t in dados) { if (((JValue)t["placar_mandante"]).Value == null) { if (rodada == (Int32)t["rodada"]) { dt.Columns["JogoID"].DefaultValue = Convert.ToString(((Int32)t["jogo_id"])); dt.Columns["Hora"].DefaultValue = ((string)t["hora"]); dt.Columns["Data"].DefaultValue = ((string)t["data"]); dt.Columns["Local"].DefaultValue = ((string)t["local_jogo"]); dt.Columns["Mandante"].DefaultValue = new Control().ResolveUrl((String)t["escudo_mandante"]); dt.Columns["Visitante"].DefaultValue = new Control().ResolveUrl((String)t["escudo_visitante"]); dt.Rows.Add(dt.NewRow()); } else break; } } return dt; }
/// <summary> /// Insere as informações de anos e competições por rodada /// </summary> private void CriarEntradasDeAnoCompeticaoRodadas() { //List<String> lista_rodadas = new RodadaBO().ObterLista(null); CompeticaoAnoRodadaBO carodadaBO = new CompeticaoAnoRodadaBO(); //foreach (String s in lista_rodadas) //{ //Verificar se a rodada foi "realizada" JObject obj = ObterDadosSerializados(); JToken token = obj["lista_de_jogos"]["campeonato"]["edicao_campeonato"]["fases"][0]; JToken dados = token["jogos"]; List<BaseVO> lista_rodada = carodadaBO.ObterListaVO(null); for (int i = 0; i < dados.Count(); i++) { if (lista_rodada.Count == 0) { CompeticaoAnoRodadaVO carodada = new CompeticaoAnoRodadaVO(); //Salvaremos apenas na mesma competicao_ano *vrl carodada.Campo("id_competicao_ano").Valor = 1; bool realizada = ((JValue)dados.ElementAt(i)["placar_mandante"]).Value != null; carodada.Campo("realizada").Valor = realizada ? "1" : "0"; carodada.Campo("id_rodada").Valor = (Int32)dados.ElementAt(i)["rodada"]; carodadaBO.Incluir(carodada); } else { bool realizada = ((JValue)dados.ElementAt(i)["placar_mandante"]).Value != null; int valor = Convert.ToInt32(lista_rodada.ElementAt(i).Campo("realizada").Valor); if (valor == 0 && realizada) { //Salvaremos apenas na mesma competicao_ano *vrl lista_rodada.ElementAt(i).Campo("id_competicao_ano").Valor = 1; lista_rodada.ElementAt(i).Campo("realizada").Valor = 1; lista_rodada.ElementAt(i).Campo("id_rodada").Valor = (Int32)dados.ElementAt(i)["rodada"]; carodadaBO.Alterar(lista_rodada.ElementAt(i)); } } } //foreach (JToken t in dados) //{ // CompeticaoAnoRodadaVO carodada = new CompeticaoAnoRodadaVO(); // //Salvaremos apenas na mesma competicao_ano *vrl // carodada.Campo("id_competicao_ano").Valor = 1; // //if (t["placar_mandante"] == null) return; // bool realizada = ((JValue)t["placar_mandante"]).Value != null; // carodada.Campo("realizada").Valor = realizada ? "1" : "0"; // carodada.Campo("id_rodada").Valor = (Int32)t["rodada"]; // //if (!carodadaBO.ExisteRegistro("id_rodada", // // carodada.Campo("id_rodada").Valor.ToString().Trim(), // // carodada)) // if (realizada) // //TODO: Criar Lista de RodadaAnoVO que conterá os ids e é só atualizar o "realizada" // carodadaBO.Incluir(carodada); //} // } }
/// <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); } }