public void Editar()
        {
            ICandidatoRepositorio repositorio = new CandidatoRepositorio();
            var servico = new CandidatoServicoDominio(repositorio);

            var candidato = new Candidato()
            {
                NomeCompleto = "Editar Test",
                NomePopular = "Editar",
                DataNascimento = DateTime.Now,
                IdPartido = 1,
                IdCargo = 2,
                Numero = 12234,
                Exibe = true,
                Foto = "foto.jpg",
                RegistroTRE = "2344563"
            };

            servico.Add(candidato);
            var tempCandidato = servico.FindByName("Editar T")[0];

            tempCandidato.NomeCompleto = "Editado com sucesso";
            servico.Editar(tempCandidato);

            Assert.IsTrue(servico.FindByName("Editado").Count > 0);
        }
        public void Deletar()
        {
            ICandidatoRepositorio repositorio = new CandidatoRepositorio();
            var servico = new CandidatoServicoDominio(repositorio);

            var candidato = new Candidato()
            {
                NomeCompleto = "Delete Test",
                NomePopular = "Delete",
                DataNascimento = DateTime.Now,
                IdPartido = 1,
                IdCargo = 2,
                Numero = 144334,
                Exibe = true,
                Foto = "foto.jpg",
                RegistroTRE = "224344563"
            };

            servico.Add(candidato);
            Assert.IsTrue(servico.FindByName("Delete").Count > 0);

            var tempCandidato = servico.FindByName("Delete T")[0];
            servico.Excluir(tempCandidato);

            Assert.IsTrue(servico.FindByName("Delete").Count == 0);
        }
        public void Votar()
        {
            IVotoRepositorio votoRepositorio = new VotoRepositorio();
            var votoServico = new VotoServicoDominio(votoRepositorio);
            IEleitorRepositorio eleitorRepositorio = new EleitorRepositorio();
            var eleitorServico = new EleitorServicoDominio(eleitorRepositorio);
            ICandidatoRepositorio candidatoRepositorio = new CandidatoRepositorio();
            var candidatoServico = new CandidatoServicoDominio(candidatoRepositorio);

            var eleitor = eleitorServico.FindByName("")[0];
            var candidato = candidatoServico.FindByName("")[0];

            Eleicao.IniciarEleicao();
            votoServico.RegistrarVoto(eleitor.CPF, candidato.Numero);
            Eleicao.TerminarEleicao();

            eleitor = eleitorServico.FindById(eleitor.Id);

            Assert.IsTrue(eleitor.Votou == 'S');
        }
        public void Cadastrar()
        {
            ICandidatoRepositorio repositorio = new CandidatoRepositorio();
            var servico = new CandidatoServicoDominio(repositorio);

            var candidato = new Candidato()
            {
                NomeCompleto = "Candidato Test",
                NomePopular = "Test",
                DataNascimento = DateTime.Now,
                IdPartido = 1,
                IdCargo = 2,
                Numero = 1234,
                Exibe = true,
                Foto = "foto.jpg",
                RegistroTRE = "298363"
            };

            servico.Add(candidato);

            Assert.IsTrue(servico.FindByName("Candidato Tes").Count > 0);
        }
示例#5
0
        public void RegistrarVoto(string cpf, int numero)
        {
            if (!Eleicao.Iniciou)
            {
                throw new Exception("Eleição não iniciou, não é possível votar");
            }

            if (this.VerificaSeVotou(cpf))
            {
                throw new Exception("O eleitor com esse CPF já votou");
            }

            ICandidatoRepositorio repositorio = new CandidatoRepositorio();
            CandidatoServicoDominio candidatoDominio = new CandidatoServicoDominio(repositorio);

            using (TransactionScope transacao = new TransactionScope())
            using (IDbConnection connection = new SqlConnection(connectionString))
            {
                Candidato candidato = candidatoDominio.BuscarPorNumero(numero);
                IDbCommand comandoInsere = connection.CreateCommand();
                comandoInsere.CommandText = "INSERT INTO Voto (IDCandidato) VALUES (@paramIDCandidato)";
                comandoInsere.AddParameter("paramIDCandidato", candidato.Id);

                IDbCommand comandoAtualiza = connection.CreateCommand();
                comandoAtualiza.CommandText = "UPDATE Eleitor SET Votou = 'S' WHERE CPF = @paramCPF";
                comandoAtualiza.AddParameter("paramCPF", cpf);

                connection.Open();

                comandoInsere.ExecuteNonQuery();
                comandoAtualiza.ExecuteNonQuery();

                transacao.Complete();
                connection.Close();
            }
        }