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