Exemplo n.º 1
0
 /// <summary>
 /// Initializes a new instance of the DeviceViewModel class.
 /// </summary>
 public DeviceViewModel(
     IValidator <DeviceViewModel> validator,
     ICollectionModel <Device> dataModel,
     IRoomsModel roomDataModel,
     Device data = null) : base(validator, dataModel, data)
 {
     this._roomDataModel = roomDataModel;
 }
 public DialogImportAddressbookViewModel(
     ICollectionModel <Device> devicesModel,
     IRoomsModel roomsModel,
     IDialogService dialogService)
 {
     _devicesModel  = devicesModel;
     _roomsModel    = roomsModel;
     _dialogService = dialogService;
     IsUpdating     = false;
 }
Exemplo n.º 3
0
        // 請使用 ObservableRangeCollection 來取代 ObservableCollection,
        // 主要是在實作refresh data 這功能時,使用此類別的ReplaceRange method可以避免DataGrid 跳動
        //private ObservableRangeCollection<Device> _devicesCollection;
        //private static object _lock = new object();

        public DevicesViewModel(
            ICollectionModel <Device> dataModel,
            IRoomsModel roomDataModel,
            IDialogService dialogService)
        {
            this._dialogService = dialogService;
            this._roomDataModel = roomDataModel;
            this._dataModel     = dataModel;
            this._dataModel.Data.CollectionChanged += _dataCollection_CollectionChanged;
            Devices = (ListCollectionView)CollectionViewSource.GetDefaultView((IList)_dataModel.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));
     }
 }