andrebaltieri / Flunt

Validations and Notifications
https://github.com/andrebaltieri/flunt
MIT License
626 stars 162 forks source link

Notifications estão nulas após recuperar uma entidade Notifiable do MongoDB com Mongo Drive #9

Closed Brunogr closed 5 years ago

Brunogr commented 6 years ago

Boa noite,

Me encontrei na situação de que aparentemente o MongoDrive não passa pelo construtor da classe ao recupera-la do banco de dados, e com isso, não é criada a propriedade Notifications de Notifiable.

Com isso, algumas regras de negócio que devem ser validadas posterior à criação do objeto, ao ser recuperado do banco, geram erro.

Acredito que o ideal seria retirar o readonly da propriedade privada _notifications para podermos inicializa-la caso esteja nula.

ps.: No meu sistema, as classes de domínio são as que eu também persisto no banco, e por ser dominio rico, algumas regras de negócio estão falhando por este motivo.

att, Bruno Gouvêa Roldão

carloscpossa commented 6 years ago

Oi, Bruno!

Eu também utilizo o MongoDb com o Flunt e, se você observar no código do Flunt, a coleção de notificações é criada no construtor de Notifiable.

Para resolver esta mesma questão que você relatou, eu simplesmente realizei a chamada ao construtor de Notifiable nos construtores das minhas classes de domínio e, sendo assim, a coleção de notificações é instanciada. Veja abaixo, um exemplo.

public class Empresa : Notifiable { public Empresa() : base() }

Espero ter ajudado!

Carlos Possa.

andrebaltieri commented 5 years ago

Um adendo aqui... não é interessante salvar as notificações no banco! Não pelo menos utilizando esse formato do flunt.

carloscpossa commented 5 years ago

Perfeito, não salvo as notificações no banco! Estou usando em produção sem problemas.