Continuando a nossa sequência de artigos para desenvolver uma solução em .Net de gerenciamento de usuários do Active Directory, na parte 1 definimos a estrutura do nosso projeto e criamos nossa ClassLibrary que chamamos de: dllActiveDirectory. Na segunda parte vimos a implementação de mais alguns métodos e desenvolvemos um banco de dados para armazenar a configuração da árvore organizacional referente a um curso e departamento, de forma que quando um usuário for inserido no AD o sistema buscará na base de dados quais as (OU = unidades organizacionais) que o usuário fará parte.

Na parte III deste artigo iremos desenvolver nosso aplicativo Windows Forms para cadastrar as Árvores Organizacionais de cada CURSO e DEPARTAMENTO. Inicie o Visual Studio. Net 2005 e crie um novo projeto (FILE -> NEW PROJECT). Em Project Types escolha VISUAL BASIC e em Templates escolha Windows APPLICATION.

Após criado o projeto, vamos adicionar um novo formulário: Botão Direito do Mouse -> Add New Item. Em seguida escolha Windows Forms e dê o nome ao formulário de UNIDADE. Insira alguns controles de forma que o formulário fique semelhante a imagem abaixo:

Cadastro de Unidade
Figura 1 – Cadastro de Unidade

Logo após vamos programar o click no botão OK do formulário. Veja na listagem 1.

Listagem 1
Listagem 1 – Código do Evento Click do botão OK no formulário Cadastro de Unidade

O próximo passo é inserir um novo formulário ao projeto. Esse formulário será o responsável pelo cadastramento de CURSOS. Para cada curso existirão várias unidades organizacionais que estão organizadas sob a forma de uma árvore de diretórios hierárquica. Vejamos como que fica o formulário para cadastro de CURSOS.

Figura 2
Figura 2 – Cadastro de Curso

O formulário de curso contém 2 textbox, a primeira que é reservada para o nome do CURSO e a segunda para a senha padrão de um usuário que será adicionado na estrutura do Active Directory referente a um curso. A senha padrão será usada uma única vez durante o primeiro Logon de um usuário, já que durante o primeiro acesso será pedido para que o usuário faça a troca de sua senha.

Vejamos como fica agora a programação do botão OK.

Listagem 2 Listagem 2
Listagem 2 – Código do Evento Click do botão OK no formulário Cadastro de Curso

Após a conclusão do formulários para cadastro de UNIDADE e CURSO, vamos iniciar o desenvolvimento do formulário para cadastro da Árvore Organizacional de um CURSO. Sendo assim, adicione um novo formulário ao projeto e chame-o de frmCadastroArvore. Insira alguns controle de forma que o formulário fique semelhante a imagem abaixo:

Figura 3
Figura 3 – Formulário Para Cadastro de uma Árvore Organizacional

O cadastro da árvore organizacional funcionará da seguinte forma. No GroupBox: SELECIONAR CURSO, existe uma ComboBox chamada CURSO onde o usuário escolherá uma curso previamente cadastrado no Sistema. Quando o usuário escolher um curso, imediatamente a TreeView com a árvore organizacional do curso será alterada para ser mostrado a configuração da árvore do curso. Para inserir mais um nó na árvore, o usuário fará um clique com o botão direito do mouse e um menu de contexto aparecerá com a opção INSERIR UNIDADE. Quando o usuário clicar em INSERIR UNIDADE, a ComboBox UNIDADE será habilitada para que o usuário possa escolher uma UNIDADE a ser inserida no último nó da árvore. Para inserir uma unidade clique no botão INCLUIR.

Figura 4
Figura 4 – Formulário Para Cadastro de uma Árvore Organizacional em Ação

Após a explicação do funcionamento, vamos a implementação dos códigos. No evento LOAD do formulário existe dois métodos (CarregarComboCurso e CarregarComboUnidade) que são responsáveis pelo preenchimento das combobox: Curso e Unidade. A implementação dos métodos será mostrada no projeto que estará disponível para download. Os botões com o sinal de (+) são responsáveis por carregar os formulários de Cadastro de Curso e Cadastro de Unidade. Dessa forma não será necessário que o usuário feche o formulário atual e vá até os formulários de Curso e Unidade para cadastrar um item que não existe na base de dados do sistema.

Listagem 3
Listagem 3 – Código do Evento Click dos botões (+) no formulário Cadastro de Árvore Organizacional.

No evento SelectedIndexChanged da combobox CURSO, existe um método que carregará a árvore organizacional (TREEVIEW). Na listagem 4 abaixo, temos o código da implementação desse evento e do respectivo método.

Listagem 4
Listagem 4 – Implementação o método para Exibir a Árvore

Os dois últimos métodos refere-se a inclusão a remoção de um nó da árvore organizacional. Veja como fica a implementação desses métodos:

Listagem 5
Listagem 5 – Implementação dos métodos para Incluir e Remover um Item da Árvore Organizacional.