public bool VerificaExistencia(Secretaria secretaria)
        {
            bool retorno;

            try
            {
                //Conectar ao banco
                this.abrirConexao();
                //instrução a ser executada
                string sql = "SELECT COUNT(*) FROM Secretaria Where ID_Secretaria = @ID_Secretaria;";

                SqlCommand cmd = new SqlCommand(sql, this.sqlConn);
                cmd.Parameters.Add("@ID_Secretaria", SqlDbType.Int);
                cmd.Parameters["ID_Secretaria"].Value = secretaria.ID_Secretaria;

                //Executando a instrução e colocando o resultado num leitor
                retorno = (Int32)cmd.ExecuteScalar() > 0;

                //Liberando memoria
                cmd.Dispose();
                //Fechar conexao
                this.fecharConexao();
            }
            catch (Exception)
            {
                throw new Exception("Erro ao verificar secretária.");
            }

            return(retorno);
        }
        public void Remover(Secretaria secretaria)
        {
            try
            {
                //Abrindo conexao
                this.abrirConexao();
                //Instrucao a ser executada
                string sql = "DELETE Secretaria WHERE ID_Secretaria = @ID_Secretaria;";

                SqlCommand cmd = new SqlCommand(sql, this.sqlConn);

                cmd.Parameters.Add("@ID_Secretaria", SqlDbType.Int);
                cmd.Parameters["@ID_Secretaria"].Value = secretaria.ID_Secretaria;

                //Executando a instrução
                cmd.ExecuteNonQuery();
                //Liberando a memoria
                cmd.Dispose();
                //Fechando conexao
                this.fecharConexao();
            }
            catch (Exception e)
            {
                throw new Exception("Erro ao remover secretária." + e);
            }
        }
        public bool VerificaExistencia(Secretaria secretaria)
        {
            if (secretaria.ID_Secretaria < 1)
            {
                throw new Exception(ERRO_NUMERO);
            }

            return(new SecretariaBD().VerificaExistencia(secretaria));
        }
        public void Remover(Secretaria secretaria)
        {
            if (secretaria.ID_Secretaria < 1)
            {
                throw new Exception(ERRO_NUMERO);
            }

            new SecretariaBD().Remover(secretaria);
        }
        public void Atualizar(Secretaria secretaria)
        {
            try
            {
                //Abrindo Conexão
                this.abrirConexao();

                string sql = "UPDATE Secretaria SET ID_Secretaria = @ID_Secretaria, " +
                             "CPF = @CPF, RG = @RG, Nome = @Nome, Endereco = @Endereco, Email = @Email, " +
                             "Celular = @Celular, Estado_Civil = @Estado_Civil WHERE ID_Secretaria = @ID_Secretaria;";

                //instrução a ser executada
                SqlCommand cmd = new SqlCommand(sql, this.sqlConn);
                //Recebendo os valores
                #region Parâmetros
                cmd.Parameters.Add("@ID_Secretaria", SqlDbType.Int);
                cmd.Parameters["@ID_Secretaria"].Value = secretaria.ID_Secretaria;

                cmd.Parameters.Add("@CPF", SqlDbType.Char);
                cmd.Parameters["@CPF"].Value = secretaria.CPF.Trim();

                cmd.Parameters.Add("@RG", SqlDbType.VarChar);
                cmd.Parameters["@RG"].Value = secretaria.RG.Trim();

                cmd.Parameters.Add("@Nome", SqlDbType.VarChar);
                cmd.Parameters["@Nome"].Value = secretaria.Nome.Trim();

                cmd.Parameters.Add("@Endereco", SqlDbType.VarChar);
                cmd.Parameters["@Endereco"].Value = secretaria.Endereco.Trim();

                cmd.Parameters.Add("@Email", SqlDbType.VarChar);
                cmd.Parameters["@Email"].Value = secretaria.Email.Trim();

                cmd.Parameters.Add("@Celular", SqlDbType.Char);
                cmd.Parameters["@Celular"].Value = secretaria.Celular.Trim();

                cmd.Parameters.Add("@Estado_Civil", SqlDbType.VarChar);
                cmd.Parameters["@Estado_Civil"].Value = secretaria.Estado_Civil.Trim();
                #endregion

                //executando a instrucao
                cmd.ExecuteNonQuery();
                //liberando a memoria
                cmd.Dispose();
                //Fechando conexão
                this.fecharConexao();
            }
            catch (Exception e)
            {
                throw new Exception("Erro ao atualizar secretária." + e);
            }
        }
        public void Cadastrar(Secretaria secretaria)
        {
            try
            {
                //Abrindo Conexão
                this.abrirConexao();

                string sql = "INSERT INTO Secretaria (ID_Secretaria, CPF, RG, Nome, Endereco, Email, Celular, Estado_Civil)" +
                             " VALUES (@ID_Secretaria, @CPF, @RG, @Nome, @Endereco, @Email, @Celular, @Estado_Civil);";

                //instrução a ser executada
                SqlCommand cmd = new SqlCommand(sql, this.sqlConn);
                //Recebendo os valores
                #region Parâmetros
                cmd.Parameters.Add("@ID_Secretaria", SqlDbType.Int);
                cmd.Parameters["@ID_Secretaria"].Value = secretaria.ID_Secretaria;

                cmd.Parameters.Add("@CPF", SqlDbType.Char);
                cmd.Parameters["@CPF"].Value = secretaria.CPF.Trim();

                cmd.Parameters.Add("@RG", SqlDbType.VarChar);
                cmd.Parameters["@RG"].Value = secretaria.RG.Trim();

                cmd.Parameters.Add("@Nome", SqlDbType.VarChar);
                cmd.Parameters["@Nome"].Value = secretaria.Nome.Trim();

                cmd.Parameters.Add("@Endereco", SqlDbType.VarChar);
                cmd.Parameters["@Endereco"].Value = secretaria.Endereco.Trim();

                cmd.Parameters.Add("@Email", SqlDbType.VarChar);
                cmd.Parameters["@Email"].Value = secretaria.Email.Trim();

                cmd.Parameters.Add("@Celular", SqlDbType.Char);
                cmd.Parameters["@Celular"].Value = secretaria.Celular.Trim();

                cmd.Parameters.Add("@Estado_Civil", SqlDbType.VarChar);
                cmd.Parameters["@Estado_Civil"].Value = secretaria.Estado_Civil.Trim();
                #endregion

                //executando a instrucao
                cmd.ExecuteNonQuery();
                //liberando a memoria
                cmd.Dispose();
                //Fechando conexão
                this.fecharConexao();
            }
            catch (Exception e)
            {
                throw new Exception("Erro ao cadastrar secretária." + e);
            }
        }
        public void Atualizar(Secretaria secretaria)
        {
            #region Validações
            if (secretaria.ID_Secretaria < 1)
            {
                throw new Exception(ERRO_NUMERO);
            }

            if (string.IsNullOrWhiteSpace(secretaria.Nome.Trim()))
            {
                throw new Exception(ERRO_NOME);
            }

            if (secretaria.Nome.Trim().Length < 1 || secretaria.Nome.Trim().Length > 200)
            {
                throw new Exception(ERRO_EXCEDER_NOME);
            }

            if (string.IsNullOrWhiteSpace(secretaria.CPF.Trim()))
            {
                throw new Exception(ERRO_CPF);
            }

            if (secretaria.CPF.Trim().Length != 14)
            {
                throw new Exception(ERRO_EXCEDER_CPF);
            }

            if (string.IsNullOrWhiteSpace(secretaria.RG.Trim()))
            {
                throw new Exception(ERRO_RG);
            }

            if (secretaria.RG.Trim().Length < 1 || secretaria.RG.Trim().Length > 20)
            {
                throw new Exception(ERRO_EXCEDER_RG);
            }

            if (string.IsNullOrWhiteSpace(secretaria.Endereco.Trim()))
            {
                throw new Exception(ERRO_ENDERECO);
            }

            if (secretaria.RG.Trim().Length < 1 || secretaria.Endereco.Trim().Length > 80)
            {
                throw new Exception(ERRO_EXCEDER_ENDERECO);
            }

            if (string.IsNullOrWhiteSpace(secretaria.Email.Trim()) || new EmailAddressAttribute().IsValid(secretaria.Email.Trim()))
            {
                throw new Exception(ERRO_EMAIL);
            }

            if (secretaria.Endereco.Trim().Length < 1 || secretaria.Endereco.Trim().Length > 30)
            {
                throw new Exception(ERRO_EXCEDER_EMAIL);
            }

            if (string.IsNullOrWhiteSpace(secretaria.Celular.Trim()))
            {
                throw new Exception(ERRO_CELULAR);
            }

            if (secretaria.Celular.Trim().Length != 14)
            {
                throw new Exception(ERRO_EXCEDER_CELULAR);
            }

            if (string.IsNullOrWhiteSpace(secretaria.Estado_Civil.Trim()))
            {
                throw new Exception(ERRO_ESTADO_CIVIL);
            }

            if (secretaria.Estado_Civil.Trim().Length < 1 || secretaria.Estado_Civil.Trim().Length > 20)
            {
                throw new Exception(ERRO_EXCEDER_ESTADO_CIVIL);
            }
            #endregion

            new SecretariaBD().Atualizar(secretaria);
        }
 public List <Secretaria> Listar(Secretaria filtro)
 {
     return(new SecretariaBD().Listar(filtro));
 }
        public List <Secretaria> Listar(Secretaria filtro)
        {
            List <Secretaria> retorno = new List <Secretaria>();

            try
            {
                //Abrindo conexao
                this.abrirConexao();
                //Instrução a ser executada
                string sql = "SELECT ID_Secretaria, CPF, RG, Nome, Endereco, Email, Celular, Estado_Civil FROM Secretaria WHERE TRUE";

                SqlCommand cmd = new SqlCommand(sql, sqlConn);
                //Se foi passado um id_secretaria válido, o mesmo entrará como critério de filtro
                #region Modos de Pesquisa
                if (filtro.ID_Secretaria > 0)
                {
                    sql += " AND ID_Secretaria = @ID_Secretaria";

                    cmd.Parameters.Add("@ID_Secretaria", SqlDbType.Int);
                    cmd.Parameters["@ID_Secretaria"].Value = filtro.ID_Secretaria;
                }
                //Se foi passado um CPF válido, o mesmo entrará como critério de filtro
                if (string.IsNullOrWhiteSpace(filtro.CPF.Trim()))
                //"  Matheus Vasconcelos  " = por isso o trim. Não precisando de IsNullOrWhiteSpace, apenas de IsNullOrEmpty, mas por precaução houve a utilização
                {
                    sql += " AND CPF = @CPF";

                    cmd.Parameters.Add("@CPF", SqlDbType.Char);
                    cmd.Parameters["@CPF"].Value = filtro.CPF.Trim();
                }
                if (string.IsNullOrWhiteSpace(filtro.RG.Trim()))
                {
                    sql += " AND RG = @RG";

                    cmd.Parameters.Add("@RG", SqlDbType.VarChar);
                    cmd.Parameters["@RG"].Value = filtro.CPF.Trim();
                }
                if (string.IsNullOrWhiteSpace(filtro.Nome.Trim()))
                {
                    sql += " AND Nome = @Nome";

                    cmd.Parameters.Add("@Nome", SqlDbType.VarChar);
                    cmd.Parameters["@Nome"].Value = filtro.Nome.Trim();
                }
                #endregion

                //Executando a instrucao e colocando o resultado em um leitor
                SqlDataReader DbReader = cmd.ExecuteReader();
                //Lendo o resultado da consulta
                while (DbReader.Read())
                {
                    Secretaria secretaria = new Secretaria();
                    //Acessando os valores das colunas do resultado
                    #region Colunas
                    //ID_Secretaria, CPF, RG, Nome, Endereco, Email, Celular, Estado_Civil
                    secretaria.ID_Secretaria = DbReader.GetInt32(DbReader.GetOrdinal("ID_Secretaria"));
                    secretaria.CPF           = DbReader.GetString(DbReader.GetOrdinal("CPF"));
                    secretaria.RG            = DbReader.GetString(DbReader.GetOrdinal("RG"));
                    secretaria.Nome          = DbReader.GetString(DbReader.GetOrdinal("Nome"));
                    secretaria.Endereco      = DbReader.GetString(DbReader.GetOrdinal("Endereco"));
                    secretaria.Email         = DbReader.GetString(DbReader.GetOrdinal("Email"));
                    secretaria.Celular       = DbReader.GetString(DbReader.GetOrdinal("Celular"));
                    secretaria.Estado_Civil  = DbReader.GetString(DbReader.GetOrdinal("Estado_Civil"));
                    #endregion
                    retorno.Add(secretaria);
                }
                //Fechando o leitor de resultados
                DbReader.Close();
                //Liberando memoria
                cmd.Dispose();
                //Fechando a conexão
                this.fecharConexao();
            }
            catch (Exception e)
            {
                throw new Exception("Erro ao conectar e selecionar." + e.Message);
            }
            return(retorno);
        }