It appears that the view model contains domain information that it should not do. In particular, it is a data structure that belongs to Core, because Core has the functionality it needs.
Two main approaches to this:
- Create a model in Core, and a view model can have this model as a property.
- Create a model in Core, and a view model can replicate its structure. (Which is likely to include conversion methods between them at some point.)
In any case, if you have a model that belongs to the kernel, then create it there.
What is this model? I really can't know for sure based on the description. Until I name it EmailTemplate. In this case, it sounds like this:
Core Assembly
Email Object
Send Method (View Model parameter)
Web Assembly
View Model Object
properties
Instead, you want:
Core Assembly
Email Object
Send Method (Email Template parameter)
Email Template Object
Web Assembly
View Model Object
Email Template property
. , .
, . ( , .) , Core, Web. , , , .