Ejemplo n.º 1
0
        public JsonResult Votar(int idJogo, int idTime, int posicao)
        {
            Votacao v = new Votacao();

            Session["posicao"] = posicao;
            v.CodTimeVotado    = idTime;
            v.CodJogo          = idJogo;
            v.CodUsuario       = ((Usuario)Session["usuarioLogado"]).Id;

            VotacaoDAO.Votar(v);

            Jogo j = JogoDAO.Jogo(v.CodJogo);

            j.QtdVotos += 1;
            if (v.CodTimeVotado == 0)
            {
                j.QtdVotosEmpate += 1;
            }
            else
            {
                if (v.CodTimeVotado == j.CodTimeA)
                {
                    j.QtdVotosTimeA += 1;
                }
                else
                {
                    j.QtdVotosTimeB += 1;
                }
            }
            JogoDAO.Altera(j);
            return(Json(true));
        }
        public ActionResult AdicionarResultado(Resultado r)
        {
            Jogo j = JogoDAO.Jogo(r.CodJogo);

            j.Ocorreu = 1;
            JogoDAO.Altera(j);

            // Calculo de pontos de cada usuario
            foreach (Votacao v in VotacaoDAO.ListaDeVotosDoJogo(j.Id))
            {
                Usuario     u = UsuarioDAO.returnUsuario(v.CodUsuario);
                Notificacao n = new Notificacao();

                n.pontosGanhos = u.qntsPontos;

                if (r.QtdGolA > r.QtdGolB && v.CodTimeVotado == j.CodTimeA)
                {
                    if (j.QtdVotosTimeA >= j.QtdVotosTimeB && j.QtdVotosTimeA >= j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 100;
                    }
                    if (j.QtdVotosTimeA > j.QtdVotosTimeB && j.QtdVotosTimeA < j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 300;
                    }
                    if (j.QtdVotosTimeA < j.QtdVotosTimeB && j.QtdVotosTimeA > j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 300;
                    }
                    if (j.QtdVotosTimeA < j.QtdVotosTimeB && j.QtdVotosTimeA < j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 500;
                    }
                }
                if (r.QtdGolA < r.QtdGolB && v.CodTimeVotado == j.CodTimeB)
                {
                    if (j.QtdVotosTimeB >= j.QtdVotosTimeA && j.QtdVotosTimeB >= j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 100;
                    }
                    if (j.QtdVotosTimeB > j.QtdVotosTimeA && j.QtdVotosTimeB < j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 300;
                    }
                    if (j.QtdVotosTimeB < j.QtdVotosTimeA && j.QtdVotosTimeB > j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 300;
                    }
                    if (j.QtdVotosTimeB < j.QtdVotosTimeA && j.QtdVotosTimeB < j.QtdVotosEmpate)
                    {
                        u.qntsPontos += 500;
                    }
                }
                if (r.QtdGolA == r.QtdGolB && v.CodTimeVotado == 0)
                {
                    if (j.QtdVotosEmpate >= j.QtdVotosTimeA && j.QtdVotosEmpate >= j.QtdVotosTimeB)
                    {
                        u.qntsPontos += 100;
                    }
                    if (j.QtdVotosEmpate > j.QtdVotosTimeA && j.QtdVotosEmpate < j.QtdVotosTimeB)
                    {
                        u.qntsPontos += 300;
                    }
                    if (j.QtdVotosEmpate < j.QtdVotosTimeA && j.QtdVotosEmpate > j.QtdVotosTimeB)
                    {
                        u.qntsPontos += 300;
                    }
                    if (j.QtdVotosEmpate < j.QtdVotosTimeA && j.QtdVotosEmpate < j.QtdVotosTimeB)
                    {
                        u.qntsPontos += 500;
                    }
                }

                n.pontosGanhos = u.qntsPontos - n.pontosGanhos;
                n.data         = DateTime.Now;
                n.CodJogo      = j.Id;
                n.CodUsuario   = u.Id;

                NotificacaoDAO.Adicionar(n);
                UsuarioDAO.Alterar(u);
            }

            ResultadoDAO.Adiciona(r);
            return(RedirectToAction("AdicionaResultado", "Admin"));
        }