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 Index() { ViewBag.Jogos = JogoDAO.JogosMaisVotados(); Usuario u = (Usuario)Session["usuarioLogado"]; if (u != null) { ViewBag.Votos = VotacaoDAO.ListaDeVotosDoUsuario(u.Id); } ViewBag.TodosOsVotos = VotacaoDAO.Lista(); return(View()); }
public JsonResult VotoDoUsuario(int id) { return(Json(VotacaoDAO.ListaDeVotosDoUsuario(id))); }
public JsonResult Votos() { return(Json(VotacaoDAO.Lista())); }
/// <summary> /// Lista os restaurantes se o horario for menor 11:30 /// Se o horario for maior ou igual a 11:30, devolve apenas o ganhador do dia /// </summary> /// <returns></returns> public Retorno listarRestaurante(long usuario_id) { IVotacaoDAO votacaoDAO = new VotacaoDAO(); IGanhadorDAO ganhadorDAO = new GanhadorDAO(); IRestauranteDAO restauranteDAO = new RestauranteDAO(); DataVotacao dataVotacao = new DataVotacao(); Retorno retorno = new Retorno(); DateTime thisDay = DateTime.Now; try { if (thisDay.Hour > 12 || (thisDay.Hour == 11 && thisDay.Minute > 29)) { List <GANHADOR> ganhadores = ganhadorDAO.getGanhador(thisDay); if (ganhadores.Count() == 1) { retorno.status = true; retorno.objeto = restauranteDAO.consultar(ganhadores[0].RESTAURANTE_ID); retorno.mensagem = "Listagem realizada com sucesso."; } else if (ganhadores.Count() == 0) { long restaurante_ganhador = votacaoDAO.getRestauranteGanhador(thisDay); if (restaurante_ganhador > 0) { GANHADOR ganhador = new GANHADOR(); ganhador.DATA = thisDay; ganhador.RESTAURANTE_ID = restaurante_ganhador; long id = ganhadorDAO.salvar(ganhador); retorno.status = true; retorno.objeto = restauranteDAO.consultar(restaurante_ganhador); retorno.mensagem = "Listagem realizada com sucesso."; } else { retorno.status = true; retorno.objeto = ""; retorno.mensagem = "Nenhum restaurante foi votado hoje."; } } else { retorno.status = false; retorno.objeto = ""; retorno.mensagem = "Ocorreu um erro. Comunique o administrador. Mais de um ganhador nesse dia: " + thisDay.Date; } } else { // testa se o usuario ja votou hoje List <VOTACAO> votacao_dia = votacaoDAO.getVotacaoPorUsuarioDia(usuario_id, thisDay); if (votacao_dia.Count() > 0) { retorno.status = false; retorno.mensagem = "Usuário já votou hoje. Aguarde o fim da votação."; return(retorno); } List <DateTime> dias = dataVotacao.retornarData(); // recupera o id de todos os restaurantes que ganharam na semana List <long> ganhadores = ganhadorDAO.listaRestauranteId(dias); List <RESTAURANTE> restaurantes = restauranteDAO.listarPorGanhores(ganhadores); retorno.status = true; retorno.objeto = restaurantes; retorno.mensagem = "Listagem realizada com sucesso."; } return(retorno); } catch (Exception ex) { retorno.status = false; retorno.mensagem = ex.Message; return(retorno); } }
/// <summary> /// Responsavel por realizar a votacao /// </summary> /// <param name="votacao">objeto votacao</param> /// <returns>obj retorno</returns> public Retorno votar(VOTACAO votacao) { IVotacaoDAO votacaoDAO = new VotacaoDAO(); Retorno retorno = new Retorno(); DateTime thisDay = DateTime.Now; try { retorno.status = true; if (thisDay.Hour > 12 || (thisDay.Hour == 11 && thisDay.Minute > 29)) { retorno.status = false; retorno.mensagem = "Votação encerrada por hoje."; return(retorno); } if (string.IsNullOrEmpty(votacao.LOGIN_ID.ToString())) { retorno.status = false; retorno.mensagem = "Usuário inválido."; return(retorno); } if (string.IsNullOrEmpty(votacao.RESTAURANTE_ID.ToString())) { retorno.status = false; retorno.mensagem = "Restaurante inválido."; return(retorno); } if (string.IsNullOrEmpty(votacao.DATA.ToString())) { thisDay = votacao.DATA; } else { votacao.DATA = thisDay; } // testa se o usuario ja votou hoje List <VOTACAO> votacao_dia = votacaoDAO.getVotacaoPorUsuarioDia(votacao.LOGIN_ID, thisDay); if (votacao_dia.Count() > 0) { retorno.status = false; retorno.mensagem = "Usuário já votou hoje."; return(retorno); } long id = votacaoDAO.salvar(votacao); retorno.objeto = votacao.ID = id; } catch (Exception ex) { retorno.status = false; retorno.mensagem = ex.Message; return(retorno); } retorno.mensagem = "Registro salvo com sucesso."; return(retorno); }
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")); }