Interfaces

  1. A criação de uma nova interface deve ser feita dentro do projeto API em CustomCode > Modeling Interfaces

Interfaces

  1. As propriedades da interface que são foreign keys de forma geral têm 4 propriedades:

    i. NomePropriedadeId (Guid?) que tem associada a seguinte notação: [EntityAssociationDependency("NomePropriedade", "MóduloDaEntidade", "NomeDaEntidade")] – das 4 propriedades, apenas esta é obrigatória

Interfaces

ii. NomePropriedadeDescription que tem associada a seguinte notação: [IgnoreInterfaceProperty("Automatically generated")]

Interfaces

iii. NomePropriedadeNaturalKey que tem associada a seguinte notação: [IgnoreInterfaceProperty("Automatically generated")]

Interfaces

iv. A própria classe ou interface da foreign key (ex: ICurrency, ICompany, IParty), ou a própria entidade se for mesmo necessário (ex: Currency, Company, Party) que pode ter associada a seguinte notação: [InterfacePropertyExplicit]

Interfaces

Neste caso, no modelo de entidades tem que se definir explicitamente o get e o set.

  1. Compilar o projeto e, caso a interface a implementar seja no próprio módulo, reiniciar o Visual Studio.

  2. Para implementar a interface, no modelo de entidades deve-se clicar na caixa do módulo e selecionar Add Interfaces...

Interfaces

No caso de ser a alteração de uma interface já existente, deve-se ir à caixa da interface, fazer View Interface Properties e confirmar que todas as propriedades estão de acordo.

Interfaces

Caso contrário, algo de errado aconteceu. Sugere-se limpar as soluções e verificar se a dll referenciada é a que foi compilada no outro módulo (utilizar o dotpeek caso seja necessário).

  1. Se a interface for nova, ligar a interface à entidade. Clicar com o botão direito do rato e, de seguida, Implement Interface...

Interfaces

Caso a interface já exista, clicar em Re-implement Interfaces...

Todos os campos da interface devem aparecer no modelo da entidade (se não for explicita, só se consegue ver na propriedade; se não for explícita e não tiver o mesmo nome, adiciona um novo campo).

  1. Transformar models e API

  2. Compilar API

  3. Reiniciar VS

  4. Transformar a solução e compilar