public ActionResult ComputaVoto(int idRestaurante, int idColaborador)
        {
            if (!VotacaoAberta())
            {
                ViewData["encerrada"] = true;
                return View();
            }

            //Declara os objetos
            Voto voto = new Voto();
            Restaurante restaurante = new Restaurante();
            RestauranteManager restManager = new RestauranteManager();

            //Verifica se id passado eh valido
            restaurante = restManager.GetRestauranteByID(idRestaurante);

            //Adiciona o restaurante ao voto
            if (restaurante != null)
            {
                voto.Restaurante = restaurante;
            }
            else
            {
                return Json("Restaurante inválido!");
            }

            //Cria objeto colaborador
            Colaborador colaborador = new Colaborador();
            ColaboradorManager colabManager = new ColaboradorManager();

            //Verifica se colaborador existe
            colaborador = colabManager.GetColaboradorByID(idColaborador);

            //Adiciona o colaborador ao voto
            if (colaborador != null)
            {
                voto.Colaborador = colaborador;
            }
            else
            {
                return Json("Colaborador inválido!");
            }

            //Adiciona data de voto
            voto.DataVoto = DataVotacao();

            //Computa o voto do colaborador
            voto.ComputaVoto();

            //Retorno da funcao
            return Json("Voto computado com sucesso");
        }
        //Verifica se votacao esta aberta
        public bool VotacaoAberta()
        {
            bool retorno;

            //Cria os objetos de resultado
            Resultado resultado = new Resultado();
            List<Resultado> listaResultado = new List<Resultado>();

            //Verifico se nao tem votacao apos a data atual, caso o usuario altere o horario do SO
            DateTime dataPosterior = DataVotacao().AddDays(1);

            if (resultado.LerResultado(dataPosterior).Count < 1)
            {
                retorno = true;
            }

            //Carrega lista de resultados
            listaResultado = resultado.LerResultado(DataVotacao());

            int totalVotos = 0;

            //Faz contagem total dos votos
            if (listaResultado.Count > 0)
            {
                for (int i = 0; i < listaResultado.Count(); i++)
                {
                    totalVotos += listaResultado[i].QuantidadeVotos;
                }

                //Busca quantidade total de colaboradores
                ColaboradorManager colaboradoresManager = new ColaboradorManager();
                List<Colaborador> listaColaboradores = new List<Colaborador>();
                listaColaboradores = colaboradoresManager.GetAll();

                //Verifica quantos votos ainda podem ser computados
                int votosRestantes = listaColaboradores.Count() - totalVotos;

                //Verifica a diferenca de votos entre o primeiro e o segundo colocado
                int difVotos;
                if (listaResultado.Count() > 1)
                {
                    difVotos = listaResultado[0].QuantidadeVotos - listaResultado[1].QuantidadeVotos;
                }
                else
                {
                    difVotos = listaResultado[0].QuantidadeVotos;
                }

                //Caso a diferenca seja superior a quantidade de votos restantes, encerra votacao
                if (difVotos > votosRestantes)
                {
                    retorno = false;
                }
                else
                {
                    retorno = true;
                }

            }
            else
            {
                retorno = true;
            }

            return retorno;
        }