A classe de Adapter poderá herdar de diferentes classes base de adapter EAI. Para o Recebimento temos EAIAdapterDataServerObjBase, EAIAdapterSimpleBase, EAIAdapterProcessBase Na utilização do EAIAdapterDataServerObjBase para recebimento utilizando um Model (Muito utilizado em cadastros), e com utilização de DataServer, temos: 1 - Criar um Model que represente o Envio e Recebimento da Mensagem que pode ser trafegada em JSon ou XML. 2 - Definir a Herança como Type do Model criado. Exemplo: StockGroup_Receive_1000 : EAIAdapterDataServerObjBase<StockGroup_Model_V1_BusinessContent> 3 - Informar no cabeçalho da Classe os atributos para Nome Versão, e Descrição com Resource (Tradução) do Adapter. [AdapterAttr(typeof(Properties.Resources), "sEstAdapterGrupoDeProdutoName", "STOCKGROUP", "1.000")] 4 - O método DoGetPrimaryKeysByBusinessContent se implementado possibilitara que um registro seja recebido e processado, mesmo que o registro já exista e seu De/Para não exista. Utilizado por exemplo para entidades que já vem com informações na Base de Dados como é o caso das Unidades de Médida. Neste exemplo de Grupo de Produto também foi implementado por se achar interessante, visto que é uma entidade simples, de chave simples. 5 - É recomentado a utilização do método DoPrepareDataset para atribuição dos valores a classe já possui a propriedade BusinessContent que representa o Model já carregado com as informações recebendo como parâmetro o DataSet já com a linha carregada, caso exista o registro, ou com um registro com valores default caso seja uma inclusão. 6 - O método DoGetInfoTableDePara define a chave primeira e estrangeiras que são utilizadas na tabela, para definição do de/para do registro e para definição de recuperação de de/paras referente a chave estrangeira. 7 - No método ValidateLevelCompanyBranch fica definido os Compartilhamentos que serão respeitados pela Entidade. No exemplo abaixo o cadastro de Grupo de Produto não permite a configuração do sistema externo de maneira exclusiva por Filial, uma vez que a tabela da entidade não comporta tal situação. |