public AnnouncementsViewModel(
            ICollectionModel <Announcement> dataModel,
            IAnnouncementsRoomsModel announcementsRoomsDataModel,
            IDialogService dialogService)
        {
            this._dialogService = dialogService;
            this._dataModel     = dataModel;
            this._announcementsRoomsDataModel = announcementsRoomsDataModel;
            Announcements = (ListCollectionView)CollectionViewSource.GetDefaultView((IList)_dataModel.Data);
            Announcements.CurrentChanged += Announcements_CurrentChanged;
            DstRoomsPerAnnouncement       = (ListCollectionView)CollectionViewSource.GetDefaultView((IList)_announcementsRoomsDataModel.Data);

            RefreshCommand.Execute(null);
        }
 /// <summary>
 /// Initializes a new instance of the AnnouncementViewModel class.
 /// </summary>
 public AnnouncementViewModel(
     IValidator <AnnouncementViewModel> validator,
     ICollectionModel <Announcement> dataModel,
     IAnnouncementsRoomsModel announcementsRoomsDataModel,
     IRoomsModel roomDataModel,
     IDialogService dialogService,
     Announcement data = null) : base(validator, dataModel, data)
 {
     this._announcementsRoomsDataModel = announcementsRoomsDataModel;
     this._roomDataModel = roomDataModel;
     this._dialogService = dialogService;
     this.DstRooms       = (ListCollectionView) new ListCollectionView((IList)_roomDataModel.Data);
     using (DstRooms.DeferRefresh())
     {
         DstRooms.Filter = new Predicate <object>(FilterByDstRoomAddress);
         DstRooms.SortDescriptions.Add(new SortDescription("ID", ListSortDirection.Ascending));
     }
 }