예제 #1
0
        protected void SalvarPalpite(object sender, EventArgs e)
        {
            PalpiteBO palpiteBO = new PalpiteBO();
            BaseVO usuario = Autenticador.GetUsuarioAutenticado();

            foreach (RepeaterItem i in RepeaterPalpites.Items)
            {
                HiddenField JogoID = (HiddenField)i.FindControl("JogoID");
                TextBox PalpiteMandante = (TextBox)i.FindControl("TextBoxPalpiteMandante");
                TextBox PalpiteVisitante = (TextBox)i.FindControl("TextBoxPalpiteVisitante");

                if (!(PalpiteMandante.Text.Trim() == String.Empty || PalpiteVisitante.Text.Trim() == String.Empty))
                {

                    JogoVO jogo = new JogoVO();

                    jogo.Campo("id_jogo").Valor = JogoID.Value;

                    List<String> lista_id_jogo = new TimeJogoBO().ObterListaJoin(jogo);
                    String j1, j2;

                    j1 = j2 = String.Empty;

                    if (lista_id_jogo.Count > 0)
                    {
                        j1 = lista_id_jogo.ElementAt(0);
                        j2 = lista_id_jogo.ElementAt(1);
                    }

                    try
                    {
                        Int32 IdGrupoPerfil = Convert.ToInt32(new UsuarioGrupoPerfilBO()
                                                              .ObterDadosVOPorCampo("id_grupo",
                                                               PalpiteGrupoID.Value.ToString(), true)
                                                              .Campo("id_usuario_grupo_perfil").Valor);
                        PalpiteVO p1 = new PalpiteVO();
                        p1.Campo("id_usuario_grupo_perfil").Valor = IdGrupoPerfil;
                        p1.Campo("id_time_jogo").Valor = j1;

                        PalpiteVO p2 = new PalpiteVO();
                        p2.Campo("id_usuario_grupo_perfil").Valor = IdGrupoPerfil;
                        p2.Campo("id_time_jogo").Valor = j2;

                        try
                        {
                            int v1, v2;
                            v1 = Convert.ToInt32(PalpiteMandante.Text.ToString());
                            v2 = Convert.ToInt32(PalpiteVisitante.Text.ToString());
                            if (v1 < 0 || v2 < 0)
                                throw new Exception("Erro! Dados negativos");
                            p1.Campo("gol").Valor = v1;
                            p2.Campo("gol").Valor = v2;
                        }
                        catch (Exception)
                        {
                            Util.Util.MostrarMensagem("Um ou mais valores estão incorretos", this.Page);
                        }

                        //if (!palpiteBO.ExisteRegistro("id_usuario_grupo_perfil", Convert.ToString(IdGrupoPerfil), p1))
                        //{
                            palpiteBO.Incluir(p1);
                            palpiteBO.Incluir(p2);
                        //}
                        //else
                        //    if (!palpiteBO.ExisteRegistro("id_time_jogo", j1, p1))
                        //    {
                        //        palpiteBO.Incluir(p1);
                        //        palpiteBO.Incluir(p2);
                        //    }

                    }
                    catch (Exception)
                    {

                        continue;
                    }

                }

            }
        }
        /// <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);

            }
        }