- Criado por Karina Dos Santos Costa, última alteração por Wesley Avelino De Carvalho em 14 jan, 2019
Índice:
Objetivo:
O objetivo deste documento é mostrar como é feito a criação de uma DLL .Net para consultar e inserir dados em uma tabela do banco de dados, e mostrar como utilizar esta DLL .Net como conexões de Origem e Destino em um conceito.
Criação do Banco de Dados:
Requisitos:
- Banco de Dados SQL
- Visual Studio 2017
Para este exemplo, foi criada uma tabela de produto em um banco de dados SQL para que a DLL .Net possa retornar todos os produtos cadastrados.
Crie a tabela produto e insira alguns dados, como mostra o exemplo abaixo:
CREATE TABLE produto (
id_produto INT IDENTITY,
nome VARCHAR (100),
quantidade_estoque INT,
preco DECIMAL(10,2),
data_criacao DATETIME,
PRIMARY KEY (id_produto)
)
INSERT INTO produto VALUES ('Produto 01',1,0.5,GETDATE())
INSERT INTO produto VALUES ('Produto 01',2,1,GETDATE())
INSERT INTO produto VALUES ('Produto 02',2,1,GETDATE());
INSERT INTO produto VALUES ('Produto 03',3,2.5,GETDATE());
INSERT INTO produto VALUES ('Produto 04',4,3,GETDATE());
INSERT INTO produto VALUES ('Produto 05',5,4.5,GETDATE());
INSERT INTO produto VALUES ('Produto 06',6,5,GETDATE());
INSERT INTO produto VALUES ('Produto 07',7,6.5,GETDATE());
INSERT INTO produto VALUES ('Produto 08',8,7,GETDATE());
INSERT INTO produto VALUES ('Produto 09',9,8.5,GETDATE());
INSERT INTO produto VALUES ('Produto 10',10,9.5,GETDATE());
Criação da DLL .Net:
A criação da DLL .Net é feita através do Visual Studio, o mesmo será utilizado para consumir e inserir dados na tabela criada anteriormente.
Abra o Visual Studio e selecione: File -> New -> Project em seguida crie um projeto do tipo "Class Library" com o nome "ConceitoDll".
Em seguida clique com o botão direito na Solution (ConceitoDll) -> Add -> New Item
|
---|
Na tela "Add New Item" Selecione a opção "ADO.NET Entity Data Model" e coloque o nome de "ModelDB".
|
---|
Na tela "Entity Data Model Wizard" selecione a opção "EF Designer From database" e avance o processo.
|
---|
Na tela seguinte "Choose Your Data Connection", crie uma nova conexão apontando para sua base de dados, e dê o nome de "DBEntities" em seguida avance o processo.
|
---|
Na tela "Choose Your Version", Selecione a versão 6.x do Entity Framework.
|
---|
Selecione a tabela criada anteriormente, dê o nome de "DBModel" e finalize a criação.
|
---|
Após o processo, uma conectionString com o nome "DBEntities" será criada no arquivo "App.Config".
|
---|
Para que o RM possa acessar tal endereço durante a execução do conceito, a mesma deve estar presente nos arquivos de configuração do "Host" descritos abaixo:
- RM.Host.exe.config
- RM.Host.Service.exe.config
- RM.Host.JobRunner.exe.config
|
---|
Crie uma classe com o nome "Controle.cs", e crie os métodos "GetProdutos" e "PutProduto" para listar os produtos e inserir um novo produto respectivamente.
Algumas observações sobre a classe e seu métodos:
- A classe a ser utilizada deverá ser pública e instânciável, ou seja não pode ser uma classe estática
- Os métodos devem conter o atributo Browsable(true) para serem reconhecidos pelo RM
- Para a Conexão de Origem, o método deve retornar um enumerado genérico IEnumerable<T>, de uma classe qualquer
- Para a Conexão de Destino, o método deve receber uma classe qualquer.
[Browsable(true)]
public List<produto> GetProdutos()
{
using (DBEntities entitie = new DBEntities())
{
return entitie.produto.ToList();
}
}
[Browsable(true)]
public bool PutProduto(produto Produto)
{
using (DBEntities entitie = new DBEntities())
{
entitie.produto.Add(Produto);
entitie.SaveChanges();
return true;
}
}
|
---|
A conexão DLL .Net está criado e consumindo uma tabela do banco de dados.
Compile a DLL .Net e a coloque na pasta de instalação da Biblioteca (RM.NET).
Cópia de referências:
Além de cópiar a dll principal do projeto, também serão necessárias as dlls de terceiros das quais o seu projeto é dependente.
Para esse exemplo, devemos copiar também as dlls "EntityFramework.dll" e "EntityFramework.SqlServer.dll"
Observação:
Após colocar a DLL .Net no ambiente, é necessário reiniciar o Host.
Conexão de Origem:
Crie um conceito que terá como Conexão de Origem a DLL .Net criada anteriormente.
Acesse o módulo Integração, abra o cadastro do Conceito e clique em Novo.
Na tela de inclusão, preencha o campo nome com "ConceitoDLLNetOrigem"
|
---|
No menu de Conexões adicione uma Conexão de Origem do tipo "DLL .Net" e preencha com os seguintes dados:
- Nome: OrigemDll
- DLL: ConceitoDll.dll
- Tipo: ConceitoDll.Controle
- Método: GetProdutos
|
---|
A conexão de Origem foi criada listando as propriedades do Objeto produto, retornado como lista na DLL .Net.
|
---|
No menu Conexões adicione uma Conexão de Destino do tipo "Arquivo Texto" e preencha com os seguintes dados:
- Nome: ArquivoDestino
- Arquivo: Parâmetro
|
---|
Ainda na tela de inclusão da conexão Arquivo Texto, acesse a aba "Tabelas" e adicione uma tabela com 5 colunas.
|
---|
Volte ao conceito, selecione a aba "Ligações" e realize as ligações da tabela de destino com a tabela de origem, como mostra o exemplo abaixo:
|
---|
Após salvar o Conceito, volte a tela de cadastro de conceito e execute o processo em "Processos | Processar Novo Conceito". Selecione o arquivo de destino e em seguida poderá ver o resultado no arquivo texto gerado.
|
---|
Conexão de Destino:
Após a criação da Conexão de Origem, crie um conceito que terá como Conexão de Destino o Web Service para inserir um produto (PutProduto).
Acesse o módulo Integração, abra o cadastro do Conceito e clique em Novo.
Na tela de inclusão, Preencha o campo nome com "ConceitoDLLNetDestino"
|
---|
Crie um arquivo texto com a seguinte informação:
- A;Produto Novo;10;10,50;18/10/2017 01:00:00
|
---|
As informações estão separadas por ; onde:
- A: Identificador da Tabela
- Produto Novo: Coluna Nome
- 10: Coluna quantidade_estoque
- 10,50: Coluna preço
- 18/10/2017 01:00:00: Coluna data_criação
No menu de Conexões adicione uma Conexão de Origem do tipo "Arquivo Texto" e preencha com os seguintes dados:
- Nome: Origem
- Arquivo: Aponte para o arquivo criado anteriormente
|
---|
Ainda na tela de inclusão da conexão Arquivo Texto, acesse a aba "Tabelas" e adicione uma tabela com o identificador O (mesmo do arquivo criado anteriormente) contendo 4 colunas e preencha seus respectivos nomes e tipos.
|
---|
Agora adicione uma Conexão de Destino do tipo "DLL .Net" e preencha os seguintes dados:
- Nome: DestinoDll
- DLL: ConceitoDll.Dll
- Tipo: ConceitoDll.Controle
|
---|
A Conexão de Destino foi criada listando o método "PutProduto" como uma tabela e listando as propriedades do objeto Produto.
|
---|
Selecione a aba Ligações e realize as ligações da tabela de destino com a tabela de origem.
|
---|
Após salvar o Conceito, volte a tela de cadastro de conceito e execute o processo em "Processos | Processar Novo Conceito". Em seguida realize a consulta na tabela no banco de dados e verifique que o produto foi inserido corretamente como mostra a imagem abaixo:
|
---|
Produto: Framework
Versão: 12.1.XX
Processo: Conexão de Web Services
Status: Finalizado
Data: 19/10/2017