コード例 #1
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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        public void Cadastrar(Candidato item)
        {
            if (Eleicao.Iniciou)
            {
                throw new Exception("As eleições iniciaram não é possivel fazer essa operação");
            }

            if (!this.ValidarCandidato(item))
            {
                throw new Exception("Candidato não pode ser inserido");
            }

            using (TransactionScope transation = new TransactionScope())
            using (IDbConnection connection = new SqlConnection(connectionString))
            {
                IDbCommand cmd = connection.CreateCommand();
                cmd.CommandText = "INSERT INTO Candidato (nomeCompleto, nomePopular, dataNascimento, registroTRE, idPartido, foto, numero, idCargo, exibe)"
                    + "VALUES (@paramNomeCompleto, @paramNomePopular, @paramData, @paramRegistroTRE, @paramIDPartido, @paramFoto, @paramNumero, @paramIdCargo, @paramExibe)";

                cmd.AddParameter("paramNomeCompleto", item.NomeCompleto);
                cmd.AddParameter("paramNomePopular", item.NomePopular);
                cmd.AddParameter("paramData", item.DataNascimento);
                cmd.AddParameter("paramRegistroTRE", item.RegistroTRE);
                cmd.AddParameter("paramIDPartido", item.IdPartido);
                cmd.AddParameter("paramFoto", item.Foto);
                cmd.AddParameter("paramNumero", item.Numero);
                cmd.AddParameter("paramIdCargo", item.IdCargo);
                cmd.AddParameter("paramExibe", item.Exibe);

                connection.Open();
                cmd.ExecuteNonQuery();

                transation.Complete();
            }
        }
コード例 #5
0
        private bool ValidarCandidato(Candidato canditato)
        {
            var tempCandidato = new Candidato();
            bool valido = true;

            if (String.IsNullOrWhiteSpace(canditato.NomeCompleto) || String.IsNullOrWhiteSpace(canditato.NomePopular))
            {
                valido = false;
            }

            tempCandidato = this.BuscarPorNomePopular(canditato.NomePopular);
            if (tempCandidato != null && tempCandidato.Id != canditato.Id)
            {
                valido = false;
            }

            tempCandidato = this.BuscarPorRegistroTRE(canditato.RegistroTRE);
            if (tempCandidato != null && tempCandidato.Id != canditato.Id)
            {
                valido = false;
            }

            tempCandidato = this.BuscarPorNumero(canditato.Numero);
            if (tempCandidato != null && tempCandidato.Id != canditato.Id)
            {
                valido = false;
            }

            tempCandidato = this.BuscarPrefeitoPorPartido(canditato.IdPartido);
            if (tempCandidato != null && tempCandidato.Id != canditato.Id)
            {
                valido = false;
            }

            return valido;
        }
コード例 #6
0
        public void Excluir(Candidato item)
        {
            if (Eleicao.Iniciou)
            {
                throw new Exception("As eleições iniciaram não é possivel fazer essa operação");
            }

            if (item.NomeCompleto == "Voto Nulo" || item.NomeCompleto == "Voto em Branco")
            {
                throw new Exception("Candidato não pode ser excluido");
            }

            using (TransactionScope transacao = new TransactionScope())
            using (IDbConnection connection = new SqlConnection(connectionString))
            {
                IDbCommand cmd = connection.CreateCommand();
                cmd.CommandText = "DELETE FROM Candidato WHERE idCandidato = @paramId";
                cmd.AddParameter("paramId", item.Id);

                connection.Open();
                cmd.ExecuteNonQuery();

                transacao.Complete();
            }
        }
コード例 #7
0
        public void Editar(Candidato item)
        {
            if (Eleicao.Iniciou)
            {
                throw new Exception("As eleições iniciaram não é possivel fazer essa operação");
            }

            if (!this.ValidarCandidato(item))
            {
                throw new Exception("Candidato não pode ser editado");
            }

            using (TransactionScope transation = new TransactionScope())
            using (IDbConnection connection = new SqlConnection(connectionString))
            {
                IDbCommand cmd = connection.CreateCommand();
                cmd.CommandText = "UPDATE Candidato SET NomeCompleto = @paramNomeCompleto, NomePopular = @paramNomePopular,"
                                  + "RegistroTRE = @paramRegistroTRE, DataNascimento = @paramData, IdPartido = @paramIDPartido,"
                                  + "Foto = @paramFoto, Numero = @paramNumero, IdCargo = @paramIdCargo, Exibe = @paramExibe "
                                  + "WHERE IdCandidato = @paramId";

                cmd.AddParameter("paramNomeCompleto", item.NomeCompleto);
                cmd.AddParameter("paramNomePopular", item.NomePopular);
                cmd.AddParameter("paramRegistroTRE", item.RegistroTRE);
                cmd.AddParameter("paramData", item.DataNascimento);
                cmd.AddParameter("paramIDPartido", item.IdPartido);
                cmd.AddParameter("paramFoto", item.Foto);
                cmd.AddParameter("paramNumero", item.Numero);
                cmd.AddParameter("paramIdCargo", item.IdCargo);
                cmd.AddParameter("paramExibe", item.Exibe);
                cmd.AddParameter("paramId", item.Id);

                connection.Open();
                cmd.ExecuteNonQuery();

                transation.Complete();
            }
        }