public funcionarioDomain BuscarPorId(int id)
        {
            using (SqlConnection con = new SqlConnection(conexaoSql))
            {
                string queryBuscar = "SELECT idFuncionario, nome, sobrenome FROM funcionarios WHERE idFuncionario = @ID";

                SqlDataReader rdr;

                using (SqlCommand cmd = new SqlCommand(queryBuscar, con))
                {
                    cmd.Parameters.AddWithValue("@ID", id);

                    con.Open();

                    rdr = cmd.ExecuteReader();

                    if (rdr.Read())
                    {
                        funcionarioDomain funcionario = new funcionarioDomain()
                        {
                            idFuncionario = Convert.ToInt32(rdr["idFuncionario"]),
                            nome          = rdr["nome"].ToString(),
                            sobrenome     = rdr["sobrenome"].ToString()
                        };
                        return(funcionario);
                    }
                    return(null);
                }
            }
        }
        public List <funcionarioDomain> ListaTodos()
        {
            List <funcionarioDomain> ListaFuncionarios = new List <funcionarioDomain>();

            using (SqlConnection con = new SqlConnection(conexaoSql))
            {
                string queryListar = "SELECT idFuncionario, nome, sobrenome FROM Funcionarios";

                SqlDataReader rdr;

                con.Open();


                using (SqlCommand cmd = new SqlCommand(queryListar, con))
                {
                    rdr = cmd.ExecuteReader();

                    while (rdr.Read())
                    {
                        funcionarioDomain funcionario = new funcionarioDomain()
                        {
                            idFuncionario = Convert.ToInt32(rdr["idFuncionario"]),
                            nome          = rdr["nome"].ToString(),
                            sobrenome     = rdr["sobrenome"].ToString()
                        };
                        ListaFuncionarios.Add(funcionario);
                    }
                    return(ListaFuncionarios);
                }
            }
        }
        public IActionResult Cadastrar(funcionarioDomain funcionario)
        {
            try
            {
                _funcionarioRepository.Cadastrar(funcionario);

                return(StatusCode(201));
            }
            catch (Exception erro)
            {
                return(BadRequest(erro));
            }
        }
 public IActionResult getBuscar(int id)
 {
     try
     {
         funcionarioDomain funcionario = _funcionarioRepository.BuscarPorId(id);
         if (funcionario != null)
         {
             return(Ok(funcionario));
         }
         return(NotFound());
     }
     catch (Exception erro)
     {
         return(BadRequest(erro));
     }
 }
        public void Cadastrar(funcionarioDomain funcionario)
        {
            using (SqlConnection con = new SqlConnection(conexaoSql))
            {
                string queryCadastro = "INSERT INTO Funcionarios (nome, sobrenome) VALUES (@nome, @sobrenome)";

                using (SqlCommand cmd = new SqlCommand(queryCadastro, con))
                {
                    cmd.Parameters.AddWithValue("@nome", funcionario.nome);
                    cmd.Parameters.AddWithValue("@sobrenome", funcionario.sobrenome);

                    con.Open();

                    cmd.ExecuteNonQuery();
                }
            }
        }
        public void AtualizarPelaUrl(int id, funcionarioDomain funcionario)
        {
            using (SqlConnection con = new SqlConnection(conexaoSql))
            {
                string queryAtualizar = "UPDATE Funcionarios SET nome = @nome, sobrenome = @sobrenome WHERE idFuncionario = @ID";

                using (SqlCommand cmd = new SqlCommand(queryAtualizar, con))
                {
                    cmd.Parameters.AddWithValue("@nome", funcionario.nome);
                    cmd.Parameters.AddWithValue("@sobrenome", funcionario.sobrenome);
                    cmd.Parameters.AddWithValue("@ID", id);

                    con.Open();

                    cmd.ExecuteNonQuery();
                }
            }
        }
        public IActionResult AtulizarPeloCorpo(funcionarioDomain funcionario)
        {
            funcionarioDomain funcionarioBuscado = _funcionarioRepository.BuscarPorId(funcionario.idFuncionario);

            if (funcionarioBuscado != null)
            {
                try
                {
                    _funcionarioRepository.Atualizar(funcionario);

                    return(NoContent());
                }
                catch (Exception erro)
                {
                    return(BadRequest(erro));
                }
            }
            return(NotFound(new { mensagem = "nenhum funcionario foi encontrado" }));
        }