Exemple #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));
        }
Exemple #2
0
        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());
        }
Exemple #3
0
 public JsonResult VotoDoUsuario(int id)
 {
     return(Json(VotacaoDAO.ListaDeVotosDoUsuario(id)));
 }
Exemple #4
0
 public JsonResult Votos()
 {
     return(Json(VotacaoDAO.Lista()));
 }
Exemple #5
0
        /// <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);
            }
        }
Exemple #6
0
        /// <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"));
        }