Пример #1
0
        public int GetQtdaVotos(int codEleicao)
        {
            EleicoesService eleicoesService = new EleicoesService();
            Eleicao         eleicao         = eleicoesService.GetEleicao(codEleicao);

            return(db.Votos.Count(x => x.CodigoEleicao == codEleicao) + db.VotosBrancos.Count(x => x.CodigoEleicao == codEleicao));
        }
Пример #2
0
        private void PassarParaProximaEtapa(Eleicao eleicao, Usuario user)
        {
            PrazoEtapa etapaAtual = db.PrazosEtapas.Find(eleicao.Codigo, eleicao.CodigoEtapa);

            PrazoEtapa proxima = GetProximaEtapa(eleicao);

            PrazoEtapa ultima = eleicao.PrazosEtapas.Where(x => x.Etapa.CodigoModulo == eleicao.CodigoModulo)
                                .OrderByDescending(x => x.Ordem).FirstOrDefault();

            if (proxima == null && etapaAtual != ultima)
            {
                throw new EleicaoEncerradaException(eleicao);
            }

            if (proxima != null)
            {
                proxima.DataRealizada = DateTime.Today;
            }
            else
            {
                eleicao.DataFechamento = DateTime.Today;
                SalvaResultado(eleicao.Codigo);
            }

            eleicao.CodigoEtapa = proxima?.CodigoEtapa;

            db.SaveChanges();
        }
Пример #3
0
        public AdminViewModel()
        {
            SaveEleicaoCommand   = new DelegateCommand <string>(SaveEleicao);
            SaveCandidatoCommand = new DelegateCommand <string>(SaveCandidato);

            UsuariosDB                   = AppViewModel.Instance.Db.GetCollection <Usuario>("usuarios");
            Usuarios                     = new ObservableCollection <Usuario>(UsuariosDB.FindAll());
            UsuarioSelecionado           = new Usuario();
            UsuarioSelecionado.viewModel = this;

            EleicoesDB                   = AppViewModel.Instance.Db.GetCollection <Eleicao>("eleicoes");
            Eleicoes                     = new ObservableCollection <Eleicao>(EleicoesDB.FindAll());
            EleicaoSelecionada           = new Eleicao();
            EleicaoSelecionada.viewModel = this;

            CandidatoDB                    = AppViewModel.Instance.Db.GetCollection <Candidato>("candidatos");
            Candidatos                     = new ObservableCollection <Candidato>(CandidatoDB.FindAll());
            CandidatoSelecionado           = new Candidato();
            CandidatoSelecionado.viewModel = this;

            CargoDB                    = AppViewModel.Instance.Db.GetCollection <Cargo>("cargos");
            Cargos                     = new ObservableCollection <Cargo>(CargoDB.FindAll());
            CargoSelecionado           = new Cargo();
            CargoSelecionado.viewModel = this;
        }
 public IHttpActionResult GetCandidatosAtualVoto(int codEleicao)
 {
     try
     {
         Eleicao e       = eleicoesService.GetEleicao(codEleicao);
         Usuario usuario = usuariosService.GetUsuario(User.Identity.Name);
         return(Ok(candidatosService.GetCandidatosParaVoto(e, usuario)));
     }
     catch (EleicaoNaoEncontradaException)
     {
         return(Content(HttpStatusCode.NotFound, "Código de Eleição não encontrado!"));
     }
     catch (ForaEtapaVotacaoException)
     {
         return(Content(HttpStatusCode.BadRequest, "A eleição não está em processo de votação no momento!"));
     }
     catch (VotoJaRealizadoException)
     {
         return(Content(HttpStatusCode.Forbidden, "Você já realizou seu voto. Não é possível anular ou alterar!"));
     }
     catch
     {
         return(Content(HttpStatusCode.InternalServerError, "Ocorreu um erro desconhecido. Por favor, entre em contato com o suporte."));
     }
 }
Пример #5
0
        private void CaregaDadosParaTeste()
        {
            candidato = new Candidato {
                Email = "*****@*****.**", Nome = "Eduardo Alcantara"
            };
            candidatoRepositorio = RetornarCandidatoRepositorio();
            candidatoRepositorio.Adicionar(candidato);

            candidato1 = new Candidato {
                Email = "*****@*****.**", Nome = "Eduardo Alcantara"
            };
            candidato2 = new Candidato {
                Email = "*****@*****.**", Nome = "Regina Alcantara"
            };
            voto1 = new Voto {
                Candidato = candidato1, Total = 1
            };
            voto2 = new Voto {
                Candidato = candidato2, Total = 1
            };

            var listacandidatos = new List <Voto>
            {
                voto1,
                voto2
            };

            var eleicao = new Eleicao {
                Data = DateTime.Now, Voto = listacandidatos, TotalVoto = listacandidatos.Count
            };

            votacaoRepositorio = RetornarVotacaoRepositorio();
            votacaoRepositorio.Adicionar(eleicao);
        }
        public ActionResult CadastrarEleicao(Eleicoes criarVotacao)
        {
            string idUser  = HttpContext.Session.GetString("Id");
            var    usuario = _db.Usuarios.SingleOrDefault(u => u.CodUsuario.ToString().Equals(idUser));

            if (usuario != null)
            {
                var nomeVotacaoExistente = _db.Eleicoes.SingleOrDefault(u => u.Titulo.Equals(criarVotacao.Titulo));
                if (nomeVotacaoExistente == null)
                {
                    criarVotacao.ChaveAcesso = BCrypt.Net.BCrypt.HashPassword(criarVotacao.ChaveAcesso);
                    Eleicao eleicao = new Eleicao(criarVotacao.Titulo, criarVotacao.Descricao, criarVotacao.ChaveAcesso, criarVotacao.VotoMultiplo, "P");
                    eleicao.CodEleicao = _db.GetMySequence("seq_eleicao");
                    UsuarioEleicao usuario_x_eleicao = new UsuarioEleicao();
                    usuario_x_eleicao.CodEleicao    = eleicao.CodEleicao;
                    usuario_x_eleicao.CodUsuario    = usuario.CodUsuario;
                    usuario_x_eleicao.Organizador   = true;
                    usuario_x_eleicao.VotoConcluido = false;
                    _db.Eleicoes.Add(eleicao);
                    _db.UsuarioEleicoes.Add(usuario_x_eleicao);
                    _db.SaveChanges();
                    return(RedirectToAction("PainelEleicao", "PainelEleicao", new { id = eleicao.CodEleicao }));
                }
                ViewBag.MensagemErro = "Este título já está em uso.";
                return(View("CriacaoVotacao"));
            }
            return(RedirectToAction("Login", "Home"));
        }
Пример #7
0
        public bool DeleteFuncionario(Eleicao eleicao, int funcionarioId)
        {
            Candidato candidato = eleicao.Candidatos.FirstOrDefault(x => x.FuncionarioId == funcionarioId && x.CodigoEleicao == eleicao.Codigo);

            if (candidato != null)
            {
                var reprovacoes = db.CandidaturasReprovadas.Where(c => c.FuncionarioId == funcionarioId && c.CodigoEleicao == eleicao.Codigo).ToList();
                foreach (var reprovacao in reprovacoes)
                {
                    db.CandidaturasReprovadas.Remove(reprovacao);
                }

                db.Candidatos.Remove(candidato);
                db.SaveChanges();
            }
            Funcionario f = eleicao.Funcionarios.FirstOrDefault(x => x.Id == funcionarioId);

            if (f != null)
            {
                eleicao.Funcionarios.Remove(f);
                db.SaveChanges();
                return(true);
            }
            return(false);
        }
Пример #8
0
        public ICollection <VotoDTO> GetVotosBrancos(int codEleicao)
        {
            EleicoesService eleicoesService = new EleicoesService();
            Eleicao         eleicao         = eleicoesService.GetEleicao(codEleicao);

            return(eleicao.VotosBrancos.Select(x => new VotoDTO(x)).ToList());
        }
Пример #9
0
        private void SalvaResultado(int codEleicao)
        {
            VotosService     votosService = new VotosService();
            ResultadoEleicao resultado    = null;
            ResultadoDTO     todos        = votosService.GetResultado(codEleicao);

            Eleicao eleicao = GetEleicao(codEleicao);

            int qtdaTotal = GetQtdaFuncionarios(codEleicao);
            int qtdaVotos = votosService.GetQtdaVotos(codEleicao);

            if (((float)qtdaVotos / (float)qtdaTotal) < 0.5)
            {
                throw new VotosInsuficientesException(qtdaTotal % 2 == 1 ? (int)((qtdaTotal + 1) / 2) : (int)(qtdaTotal / 2));
            }


            foreach (CandidatoEleitoDTO q in todos.Efetivos)
            {
                resultado = new ResultadoEleicao
                {
                    CodigoEleicao        = codEleicao,
                    CodigoEmpresa        = eleicao.Unidade.CodigoEmpresa,
                    RazaoSocial          = eleicao.Unidade.Empresa.RazaoSocial,
                    MatriculaFuncionario = q.MatriculaFuncionario,
                    Login        = q.Login,
                    Cargo        = q.Cargo,
                    Area         = q.Area,
                    DataAdmissao = q.DataAdmissao,
                    QtdaVotos    = q.QtdaVotos,
                    Thumbnail    = q.Thumbnail,
                    Foto         = db.FuncionariosFotos.Where(x => x.FuncionarioId == q.Id).FirstOrDefault()?.Foto,
                    Efetivo      = true
                };
                db.ResultadosEleicoes.AddOrUpdate(resultado);
            }

            foreach (CandidatoEleitoDTO q in todos.Suplentes)
            {
                resultado = new ResultadoEleicao
                {
                    CodigoEleicao        = codEleicao,
                    CodigoEmpresa        = eleicao.Unidade.CodigoEmpresa,
                    RazaoSocial          = eleicao.Unidade.Empresa.RazaoSocial,
                    MatriculaFuncionario = q.MatriculaFuncionario,
                    Login        = q.Login,
                    Cargo        = q.Cargo,
                    Area         = q.Area,
                    DataAdmissao = q.DataAdmissao,
                    QtdaVotos    = q.QtdaVotos,
                    Thumbnail    = q.Thumbnail,
                    Foto         = db.FuncionariosFotos.Where(x => x.FuncionarioId == q.Id).FirstOrDefault()?.Foto,
                    Efetivo      = false
                };
                db.ResultadosEleicoes.AddOrUpdate(resultado);
            }

            db.SaveChanges();
        }
Пример #10
0
        private PrazoEtapa GetProximaEtapa(Eleicao eleicao)
        {
            PrazoEtapa etapaAtual = db.PrazosEtapas.Find(eleicao.Codigo, eleicao.CodigoEtapa);

            return(eleicao.PrazosEtapas
                   .Where(x => x.Ordem > etapaAtual.Ordem)
                   .OrderBy(x => x.Ordem).FirstOrDefault());
        }
Пример #11
0
        private PrazoEtapa GetEtapaAnterior(PrazoEtapa prazoEtapa)
        {
            Eleicao eleicao = GetEleicao(prazoEtapa.CodigoEleicao);

            return(eleicao.PrazosEtapas
                   .Where(x => x.Ordem < prazoEtapa.Ordem)
                   .OrderByDescending(x => x.Ordem).FirstOrDefault());
        }
Пример #12
0
        public void NaoVotarTest()
        {
            EleitorRepositorio eleitorRepositorio = new EleitorRepositorio();
            Eleicao            eleicao            = new Eleicao();
            Eleitor            eleitor            = eleitorRepositorio.BuscarPorId(4004);

            Assert.IsFalse(eleicao.Votar(eleitor.CPF, 20102));
        }
Пример #13
0
 public ComunicadoSucessoMudancaEtapaService(Eleicao eleicao) : base(eleicao)
 {
     MapeamentoParametros.Add("@ETAPA_ATUAL", () => eleicao.EtapaAtual?.Nome ?? "Finalização da Eleição");
     MapeamentoParametros.Add("@ETAPA_ANTERIOR", () => eleicao.EtapaAnterior?.Nome ?? "N/A - Início do Processo");
     ParametrosUtilizados.Add("@EMPRESA_CNPJ");
     ParametrosUtilizados.Add("@ETAPA_ATUAL");
     ParametrosUtilizados.Add("@ETAPA_ANTERIOR");
 }
Пример #14
0
        public void NaoVotarTest()
        {
            EleitorRepositorio eleitorRepositorio = new EleitorRepositorio();
            Eleicao eleicao = new Eleicao();
            Eleitor eleitor = eleitorRepositorio.BuscarPorId(4004);

            Assert.IsFalse(eleicao.Votar(eleitor.CPF, 20102));
        }
Пример #15
0
        private PrazoEtapa GetProximaEtapa(PrazoEtapa prazoEtapa)
        {
            Eleicao eleicao = GetEleicao(prazoEtapa.CodigoEleicao);

            return(eleicao.PrazosEtapas
                   .Where(x => x.Ordem > prazoEtapa.Ordem)
                   .OrderBy(x => x.Ordem).FirstOrDefault());
        }
 public EleicaoPainel(Eleicao eleicao)
 {
     CodEleicao   = eleicao.CodEleicao;
     Titulo       = eleicao.Titulo;
     Descricao    = eleicao.Descricao;
     ChaveAcesso  = eleicao.ChaveAcesso;
     VotoMultiplo = eleicao.VotoMultiplo;
     Status       = eleicao.Status;
 }
Пример #17
0
 public TotalFuncionariosEleitoresDTO GetTotalFuncionariosEleitores(Eleicao eleicao)
 {
     return(new TotalFuncionariosEleitoresDTO
     {
         CodigoEleicao = eleicao.Codigo,
         TotalEleitores = eleicao.Funcionarios.Count(),
         TotalFuncionarios = db.Funcionarios.Count()
     });
 }
Пример #18
0
 public ConviteInscricaoFormatadorService(Eleicao eleicao) : base(eleicao)
 {
     ParametrosUtilizados.Add("@EMPRESA_CNPJ");
     ParametrosUtilizados.Add("@ENDERECO");
     ParametrosUtilizados.Add("@GESTAO");
     ParametrosUtilizados.Add("@PERIODO_INSCRICAO");
     ParametrosUtilizados.Add("@TECNICO_SESMT");
     ParametrosUtilizados.Add("@TECNICO_CARGO");
 }
Пример #19
0
        public void AtualizaEleicao(EleicaoDTO eleicao)
        {
            Eleicao e = GetEleicao(eleicao.Codigo);

            e.CodigoSindicato = eleicao.CodigoSindicato;
            e.CodigoUnidade   = eleicao.CodigoUnidade;

            db.SaveChanges();
        }
        public IActionResult EditarVotacaoPost(EleicoesEdit cadastrarEleicao)
        {
            string idUser = HttpContext.Session.GetString("Id");

            if (idUser != null)
            {
                var eleicao = _db.Eleicoes
                              .FromSqlRaw("SELECT * from eleicao where cod_eleicao IN " +
                                          "(select cod_eleicao from usuario_x_eleicao where cod_usuario = '" +
                                          idUser + "' and cod_eleicao = " + cadastrarEleicao.CodEleicao + " and organizador = true)");
                if (eleicao.Count() > 0)
                {
                    var nomeAtual = _db.Eleicoes
                                    .Where(e => e.CodEleicao == cadastrarEleicao.CodEleicao)
                                    .Select(e => e.Titulo)
                                    .ToList()
                                    .First();
                    if (!nomeAtual.Equals(cadastrarEleicao.Titulo))
                    {
                        var nomeExistente = _db.Eleicoes.Where(e => e.Titulo.Equals(cadastrarEleicao.Titulo)).ToList();
                        if (nomeExistente.Count() > 0)
                        {
                            ViewBag.MensagemErro = "Este título já está sendo utilizado.";
                            return(View("EditarVotacao", cadastrarEleicao));
                        }
                    }
                    if (cadastrarEleicao.ChaveAcesso == null)
                    {
                        var chaveAcessoAtual = _db.Eleicoes
                                               .Where(e => e.CodEleicao == cadastrarEleicao.CodEleicao)
                                               .Select(e => e.ChaveAcesso)
                                               .ToList()
                                               .First();
                        cadastrarEleicao.ChaveAcesso = chaveAcessoAtual;
                    }
                    else
                    {
                        cadastrarEleicao.ChaveAcesso = BCrypt.Net.BCrypt.HashPassword(cadastrarEleicao.ChaveAcesso);
                    }
                    Eleicao eleicaoModel = new Eleicao();
                    eleicaoModel.ChaveAcesso  = cadastrarEleicao.ChaveAcesso;
                    eleicaoModel.CodEleicao   = cadastrarEleicao.CodEleicao;
                    eleicaoModel.Titulo       = cadastrarEleicao.Titulo;
                    eleicaoModel.Descricao    = cadastrarEleicao.Descricao;
                    eleicaoModel.Status       = cadastrarEleicao.Status;
                    eleicaoModel.VotoMultiplo = cadastrarEleicao.VotoMultiplo;
                    _db.Eleicoes.Update(eleicaoModel);
                    _db.SaveChanges();
                    TempData["MensagemSucesso"] = "Eleição alterada com sucesso.";
                    return(RedirectToAction("EditarVotacao", "CriacaoVotacao", new { id = cadastrarEleicao.CodEleicao }));
                }
                return(RedirectToAction("MinhasEleicoes", "ListaEleicao"));
            }

            return(RedirectToAction("Login", "Home"));
        }
Пример #21
0
        private void Load(Eleicao e)
        {
            EtapasService etapasService = new EtapasService();

            PrazosEtapasObj = new HashSet <PrazosEtapasDTO>();

            if (e == null)
            {
                return;
            }
            Codigo          = e.Codigo;
            Gestao          = e.Gestao;
            DataInicio      = e.DataInicio;
            DataFechamento  = e.DataFechamento;
            CodigoEtapa     = e.CodigoEtapa;
            CodigoUnidade   = e.CodigoUnidade;
            CodigoModulo    = e.CodigoModulo;
            CodigoSindicato = e.CodigoSindicato;
            if (e.Modulo != null)
            {
                NomeModulo = e.Modulo.NomeModulo;
            }
            if (e.EtapaAtual != null)
            {
                NomeEtapa = e.EtapaAtual.NomeEtapa;
            }
            if (e.Unidade != null)
            {
                UnidadeObj = new UnidadeDTO(e.Unidade);
            }
            if (e.Sindicato != null)
            {
                SindicatoObj = new SindicatoDTO(e.Sindicato);
            }

            foreach (Etapa etapa in etapasService.GetEtapas(CodigoModulo))
            {
                PrazoEtapa prazo = e.PrazosEtapas?.FirstOrDefault(x => x.CodigoEtapa == etapa.CodigoEtapa);

                if (e.CodigoEtapa == prazo.CodigoEtapa)
                {
                    OrdemEtapa = prazo.Ordem ?? etapa.Ordem.Value;
                }

                ((HashSet <PrazosEtapasDTO>)PrazosEtapasObj).Add(new PrazosEtapasDTO
                {
                    CodigoEtapa    = etapa.CodigoEtapa,
                    CodigoEleicao  = Codigo,
                    NomeEtapa      = etapa.NomeEtapa,
                    DataRealizada  = prazo?.DataRealizada,
                    DataProposta   = prazo?.DataProposta,
                    Ordem          = prazo.Ordem ?? etapa.Ordem.Value,
                    CodigoTemplate = etapa.CodigoTemplate
                });
            }
        }
Пример #22
0
        /// <summary>
        /// Verifica se o Funcionário é elegível (não pode ter sido eleito duas vezes consecutivas)
        /// </summary>
        /// <param name="c"></param>
        /// <returns></returns>
        private bool Elegivel(Candidato c, Eleicao eleicao, Funcionario func)
        {
            VotosService            votosService = new VotosService();
            List <ResultadoEleicao> resultados   = votosService.VerificarEleicoesPorFuncionario(c.FuncionarioId, func.Login);

            int anoPassado   = eleicao.DataInicio.Year - 1;
            int anoRetrasado = anoPassado - 1;

            return(!resultados.Any(x => x.Eleicao.DataInicio.Year == anoPassado) && !resultados.Any(x => x.Eleicao.DataInicio.Year == anoRetrasado));
        }
 public EditalConvocacaoFormatadorService(Eleicao eleicao) : base(eleicao)
 {
     ParametrosUtilizados.Add("@EMPRESA_CNPJ");
     ParametrosUtilizados.Add("@DATA_COMPLETA");
     ParametrosUtilizados.Add("@ENDERECO");
     ParametrosUtilizados.Add("@PERIODO_INSCRICAO");
     ParametrosUtilizados.Add("@PERIODO_VOTACAO");
     ParametrosUtilizados.Add("@TECNICO_SESMT");
     ParametrosUtilizados.Add("@TECNICO_CARGO");
 }
Пример #24
0
        public async Task <Eleicao> CadastrarEleicao(Eleicao model)
        {
            await validator.ValidateAndThrowAsync(model);

            await context.AddAsync(model);

            await context.SaveChangesAsync();

            return(model);
        }
Пример #25
0
 public ConviteVotacaoFormatadorService(Eleicao eleicao) : base(eleicao)
 {
     ParametrosUtilizados.Add("@EMPRESA_CNPJ");
     ParametrosUtilizados.Add("@GESTAO");
     ParametrosUtilizados.Add("@ENDERECO");
     ParametrosUtilizados.Add("@CANDIDATOS");
     ParametrosUtilizados.Add("@PERIODO_VOTACAO");
     ParametrosUtilizados.Add("@TECNICO_SESMT");
     ParametrosUtilizados.Add("@TECNICO_CARGO");
 }
Пример #26
0
        public Eleicao SalvarComCronograma(EleicaoDTO eleicao)
        {
            if (!unidadesService.UnidadeExiste(eleicao.CodigoUnidade))
            {
                throw new UnidadeNaoEncontradaException(eleicao.CodigoUnidade);
            }

            if (eleicao.CodigoSindicato.HasValue && !sindicatosService.SindicatoExiste(eleicao.CodigoSindicato.Value) && eleicao.CodigoModulo == 1)
            {
                throw new SindicatoNaoEncontradoException(eleicao.CodigoSindicato.Value);
            }

            Eleicao nova = new Eleicao
            {
                CodigoEtapa     = db.Etapas.Where(x => x.CodigoEtapa == db.Etapas.Where(y => y.CodigoModulo == eleicao.CodigoModulo).Min(y => y.CodigoEtapa)).FirstOrDefault()?.CodigoEtapa,
                CodigoUnidade   = eleicao.CodigoUnidade,
                CodigoModulo    = eleicao.CodigoModulo,
                Gestao          = eleicao.Gestao,
                CodigoSindicato = eleicao.CodigoSindicato == 0 ? null : eleicao.CodigoSindicato,
                DataInicio      = eleicao.DataInicio
            };

            db.Eleicoes.Add(nova);

            PrazoEtapa EtapaAnterior = null;

            foreach (PrazosEtapasDTO pe in eleicao.PrazosEtapasObj.OrderBy(x => x.Ordem))
            {
                if (EtapaAnterior != null && pe.DataProposta < EtapaAnterior.DataProposta)
                {
                    throw new CronogramaInconsistenteException(pe.GetPrazoEtapa(), EtapaAnterior);
                }
                PrazoEtapa p = new PrazoEtapa
                {
                    CodigoEleicao = nova.Codigo,
                    CodigoEtapa   = pe.CodigoEtapa,
                    DataProposta  = pe.DataProposta,
                    DataRealizada = pe.DataRealizada,
                    Ordem         = pe.Ordem
                };

                if (pe.CodigoEtapa == 1)
                {
                    p.DataRealizada = DateTime.Today;
                }

                db.PrazosEtapas.Add(p);
                EtapaAnterior = p;
            }

            db.SaveChanges();

            return(nova);
        }
Пример #27
0
        public bool FuncionarioCadastrado(int codEleicao, string login, int funcionarioId)
        {
            Eleicao eleicao = db.Eleicoes.Find(codEleicao);

            if (eleicao == null)
            {
                throw new EleicaoNaoEncontradaException();
            }

            return(eleicao.Funcionarios.Any(x => x.Login == login && x.Id == funcionarioId));
        }
Пример #28
0
        public IEnumerable <CandidatoFotoDTO> GetCandidatosParaValidacao(Eleicao eleicao, bool?aprovado = null)
        {
            if (eleicao.CodigoEtapa != 4 && eleicao.CodigoEtapa != 19)
            {
                throw new ForaEtapaCandidaturaException(eleicao);
            }

            return(db.Candidatos
                   .Where(x => x.CodigoEleicao == eleicao.Codigo && aprovado == x.Validado).ToList()
                   .Select(x => new CandidatoFotoDTO(x)));
        }
        public void CadastrarCandidatoNaoPodeCadastrarSeAsEleicoesJaComecaram()
        {
            Candidato            c  = new Candidato("teste", "teste", new DateTime(2015, 11, 02), "12345", 1, "abcd", 18103, 2, true);
            CandidatoRepositorio cr = new CandidatoRepositorio();
            bool    cadastrou       = cr.Cadastrar(c);
            Eleicao e = new Eleicao();

            e.IniciarEleicao();
            Assert.AreEqual(false, cadastrou);
            e.TerminarEleicao();
        }
Пример #30
0
        public Eleicao GetEleicaoPorGestaoPorUnidade(int codigoModulo, string gestao, int codigoUnidade)
        {
            Eleicao e = db.Eleicoes.Where(x => x.Gestao == gestao && x.CodigoUnidade == codigoUnidade && x.CodigoModulo == codigoModulo).FirstOrDefault();

            if (e == null)
            {
                throw new EleicaoNaoEncontradaException();
            }

            return(e);
        }
Пример #31
0
        public Eleicao GetEleicao(int codigo)
        {
            Eleicao e = db.Eleicoes.Find(codigo);

            if (e == null)
            {
                throw new EleicaoNaoEncontradaException();
            }

            return(e);
        }
Пример #32
0
        public void VotarTest()
        {
            EleitorRepositorio eleitorRepositorio = new EleitorRepositorio();
            Eleicao eleicao = new Eleicao();
            Eleitor eleitor = eleitorRepositorio.BuscarPorId(4004);

            eleicao.IniciarEleicoes();

            Assert.IsTrue(eleicao.Votar(eleitor.CPF, 20102));

            eleicao.FinalizarEleicoes();
            eleitor = eleitorRepositorio.BuscarPorId(4004);
            Assert.AreEqual('S', eleitor.Votou);

            eleitor.Votou = 'N';
            eleitorRepositorio.Atualizar(eleitor);
        }
Пример #33
0
        static void Main(string[] args)
        {
            int[] numeros = { -1, 0, -1, 0, 20, 20102, 20103, 30, 30200, 30300 };
            int votosContabilizados = 0;
            Random random = new Random();
            EleitorRepositorio eleitorRepositorio = new EleitorRepositorio();
            Eleicao eleicao = new Eleicao();

            eleicao.IniciarEleicoes();
            Console.WriteLine("Eleições iniciadas");

            for (int i = 4001; i < 4200; i++)
            {
                int numero = (int)(random.NextDouble() * 10);
                Eleitor eleitor = eleitorRepositorio.BuscarPorId(i);
                if (eleicao.Votar(eleitor.CPF, numeros[numero]))
                {
                    Console.WriteLine(eleitor.Nome + " votou");
                    votosContabilizados++;
                }
            }

            eleicao.FinalizarEleicoes();
            Console.WriteLine("Eleições finalizadas");

            Console.WriteLine("\nBuscando estatísticas\n");
            IList<Estatistica> estatisticas = new EstatisticaRepositorio().BuscarEstatisticas();
            foreach (Estatistica estatistica in estatisticas)
            {
                Console.WriteLine(estatistica.ToString() + "\n");
            }

            Console.WriteLine("\nPronto. {0} votos contabilizados", votosContabilizados);

            Console.WriteLine(Estatistica.PorcentagemEquivalente(estatisticas));

            Console.Read();
        }