Olá pessoal,
Dando continuidade ao tema Provedor de Dados Customizado, utilizado para consumir APIs Externas do Dynamics 365, vamos a parte 3 (final)!
Para aqueles que ainda não viram a primeira e segunda partes, por favor, acessem os links abaixo:
Dynamics 365 – Provedor de Dados Customizado/Custom Data Provider (Parte 1)
Dynamics 365 – Provedor de Dados Customizado/Custom Data Provider (Parte 2)
Vamos ao que interessa! A parte final desta série!
Registrar Provedor de Dados Customizado
Bom, agora que a maior e mais complexa parte do trabalho está pronta, vamos registrar o provedor de dados.
Nosso velho amigo PluginRegistrationTool será o responsável por isso, assim crie uma conexão com o seu Dynamics, em seguida, clique em Register e depois Register New Assembly.
Selecione a DLL gerada na etapa anterior e registre o plugin para a duas mensagens (Retrieve e RetrieveMultiple):
Com o plugin registrado, vamos agora registrar um novo provedor de dados. Clique em Register, depois em Register New Data Provider. Preencha os detalhes de seu provedor:
Nota: Em alguns dos testes que realizei recebi o erro abaixo e ao clicar em “OK” o PluginRegistration se encerrou. Apesar de ser um erro, não se preocupe, repita os passos de acima que tudo dará certo no final!
O trabalho no PluginRegistration termina aqui. Vamos ao Dynamics…
Devido a uma validação interna do Dynamics, a chave primária do provedor de dados precisa ter algum valor no atributo “External Name”. Não se preocupe com o valor, apenas informe algo. Abra sua solução, veja que o provedor de dados aparece como se fosse uma entidade, já em Atributos (Fields), abra a chave primária e informe um valor no campo External Data:
Agora vamos criar um nova Fonte de Dados (Data Sources), para isso, navegue até Configurações (Settings ) > Administração (Administration) > Fonte de Dados das Entidades Virtuais (Virtual Entity Data Sources), e clique em Novo (New). Veja que o nosso provider customizado aparece na lista! Selecione e confirme.
Informe o nome de sua fonte de dados e salve o registro:
A última etapa! Precisamos informar/trocar a fonte de dados de nova entidade virtual, como já falei anteriormente, estou utilizando a entidade ExternalActivity, as mesma que havia utilizando neste post. Assim, no meu caso é apenas preciso trocar o data source para o que criamos anteriormente:
Salve e publique! O resultado, pode ser visto abrindo o mesmo contato que utilizamos o seu GUID de forma fixa na API. Depois navegue até as entidades relacionadas, clique em External Acitivities:
Neste momento, o Dynamics irá acionar o plugin de RetrieveMultiple que retorna a lista de ExternalActivities.
Ao abrirmos os registros (clicando duas vezes), vemos o formulário em modo apenas leitura com os atributos já preenchidos:
Agora, o Dynamics irá acionar o Retrieve e recuperar o ExternalActivity que está no contexto.
Ufa! Isso é tudo! Espero que possa ajudar!
Para maiores detalhes, seguem os documentos oficiais:
Custom virtual entity data providers
Sample: Generic virtual entity data provider plug-in
[]’s,
Tiago