I'm building an n-tier, client/server application with C# and WPF (WCF for client/server communications)
What I'd like to be able to do is have my client side service managers be able to push data straight to a ViewModel, and in so doing, have it hit the view.
For example: User A has the application open, and has the CustomersViewModel open showing a list of customers.
User B adds a new customer to the database.
At the point where the repository knows the data from User B has been saved, I want to push a message out to all connected clients (NotifyClientsOfUpdateMessage). When the client side service manager receives this message, I want to use something like the Caliburn.Micro EventAggregator to then push that out to any ViewModel that implements IHandle to display a message in the view stating that the list has changed, click update to refresh.
Now - to my questions. 1 - Can the Caliburn.Micro EventAggregator communicate between layers of the application? In my Autofac container, the EventAggregator is registered as a single instance shared between the application layer (ViewModels) and the Client layer which houses all the client side Proxies, managers etc.
Essentially I'd like to publish an event from the client manager up to the application layer and having the ViewModels handle that information however required. Is this possible?
2 - Is There a more efficient way of achieving this same behavior?
Please forgive me if this is a basic question, this is my first client-server application and I'm 1 year into teaching myself to write apps. I have done numerous searches through google, SO, MSDN etc and can not find any information about this.
Thanks in advance.