mardi 18 août 2020

Onion Architecture - Domain Model methods that require information from Infrastructure

I'm just getting started with DDD and implementing the Onion Architecture.

I'm making an invitation system, where a super user can invite another user by email to his company. However when creating the invitation, I want to ensure that the user is not already created in the system. I want to do that by checking if there's any record in the database with that email. I'm using Entity Framework to handle the database context.

And I've made a repository for both Invitation and UserAccount, that contain methods to find items based on an Id.

I need to use the DB context in order to see if the invitation is still valid, but since the method is declared in the Domain Layer, I can't really figure out how to do it, without breaking the design pattern. The Domain layer should not know anything about the persistence layer.

enter image description here

I thought about injecting the IUserAccountRepository and then executing the required methods in order to complete the Accept() method, but I'm afriad this is wrong.

Aucun commentaire:

Enregistrer un commentaire