How to?
Como modelar um atributo com side-effects?
Para modelar atributos com side-effects, é necessário seguir os seguintes passos:
- Abrir o Modelo de Entidades (EntitiesModel.ed3)
- Aceder às propriedades do atributo ao qual se quer associar o Side-Effect.
- Colocar a propriedade "Has Side Effects" a True

- Transformar a solução para gerar os métodos necessários para desenvolver a funcionalidade do Side-Effect
- Se não existir, criar a classe Service Manager para o serviço da entidade à qual se adicionou o Side Effect (ServiceNameServiceManager.SideEffects.cs)
Nota: No caso de ser necessário criar uma classe nova, o namespace desta classe deve ser alterado para conter apenas até Primavera.NomeMódulo.Domain~´
- Fazer override ao método que foi gerado após a transformação da solução: o método é o que contém o nome do campo ao qual se associou o Side Effect.
Como a lógica do Side Effect é uma lógica de negócio, deve ser inserida no Manager. Assim, é necessário adicionar ao método “contexto.Handled = false”, para ser direcionado para o Manager, onde será feito mais uma vez override ao método:

- Se não existir, criar a classe Manager para o serviço da entidade à qual se adicionou o Side Effect (ServiceNameManager.SideEffects.cs)
Nota: mais uma vez, no caso de criar uma classe nova, o namespace desta classe deve ser alterado para conter apenas até Primavera.NomeMódulo.Domain
- Por fim, deve ser feito override ao método e inserida a lógica de negócio subjacente ao Side Effect:
