Hi Vladimir,
let me try to give a concise answer to address your question/concern. I think the problems/challenges you are facing are caused by a more fundamental one: you’re trying to model all interaction with the Saga using events. This is a good thing when it comes to triggering the Saga; this is exactly what events are for. But when it comes to the point where a Saga needs to know more than it could read based on events it received, this complicates things.
It’s important in these cases to take a step back, and wonder what it really is you want. In this case, the Saga needs information; it needs to know something. This literally translates to a query. Therefore, my recommendation is to implement this as a Query. Have the Saga read the tenant and building details from a query model that is designed to return that information efficiently.
This will also make your tests a lot simpler. Note that test complexity is generally a good indicator of the cleanliness of a design.
Hope this helps.
Allard