main
 1using solidware.financials.infrastructure;
 2using solidware.financials.infrastructure.eventing;
 3using solidware.financials.messages;
 4using solidware.financials.windows.ui.views;
 5
 6namespace solidware.financials.windows.ui.handlers
 7{
 8    public class PublishEventHandler<T> : Handles<T> where T : Announcement
 9    {
10        EventAggregator event_aggregator;
11        RegionManager region_manager;
12
13        public PublishEventHandler(EventAggregator event_aggregator, RegionManager regionManager)
14        {
15            this.event_aggregator = event_aggregator;
16            region_manager = regionManager;
17        }
18
19        public void handle(T item)
20        {
21            event_aggregator.publish(item);
22            region_manager.region<TrayIcon>(x =>
23            {
24                item.AnnounceUsing(x);
25            });
26        }
27    }
28}