/// <summary> Конструктор </summary>
        public ViewModelContact()
        {
            ListModelContact = DataSourceContact.GetListModelContact();

            ApplyFilter(); // автоматически присвоит CurrentListModelContact

            CallbackRouter.Instance.ListModelContactChanged             += OnListModelContactChanged;
            CallbackRouter.Instance.ListModelContactStatusChanged       += OnListModelContactStatusChanged;
            CallbackRouter.Instance.ListModelContactSubscriptionChanged += OnListModelContactSubscriptionChanged;
            CallbackRouter.Instance.ModelConnectStateChanged            += OnModelConnectStateChanged;
            CallbackRouter.Instance.PresenceOffline += OnPresenceOffline;

            CommandApplyFilterAllContact      = new Command(obj => ApplyFilterListFilterContact(@"ViewModelContact_AllContact"));
            CommandApplyFilterDodicallContact = new Command(obj => ApplyFilterListFilterContact(@"ViewModelContact_DodicallContact"));
            CommandApplyFilterSavedContact    = new Command(obj => ApplyFilterListFilterContact(@"ViewModelContact_SavedContact"));
            CommandApplyFilterBlockedContact  = new Command(obj => ApplyFilterListFilterContact(@"ViewModelContact_BlockedContact"));
            CommandApplyFilterWhiteContact    = new Command(obj => ApplyFilterListFilterContact(@"ViewModelContact_WhiteContact"));

            CommandAddToWhiteModelContact = new Command(obj => { if (DataSourceContact.AddToWhiteModelContact(CurrentModelContact))
                                                                 {
                                                                     ApplyFilter();
                                                                 }
                                                        });
            CommandDeleteFromWhiteModelContact = new Command(obj => DeleteFromWhite());
            CommandBlockModelContact           = new Command(obj => { if (DataSourceContact.BlockModelContact(CurrentModelContact))
                                                                      {
                                                                          ApplyFilter();
                                                                      }
                                                             });
            CommandUnblockModelContact = new Command(obj => { if (DataSourceContact.UnblockModelContact(CurrentModelContact))
                                                              {
                                                                  ApplyFilter();
                                                              }
                                                     });
            CommandDeleteModelContact = new Command(obj =>
            {
                if (DataSourceContact.DeleteModelContact(CurrentModelContact))
                {
                    ApplyFilter();
                    OnDeleteModelContactSuccessful();
                }
            });

            ModelConnectStateObj = DataSourceUtility.GetCurrentModelConnectState();

            ChangedInviteUnread();
        }
        /// <summary> Обработчик изменения состояния подключений </summary>
        private void OnModelConnectStateChanged(object sender, ModelConnectState modelConnectState)
        {
            Action action = () => ModelConnectStateObj = DataSourceUtility.GetCurrentModelConnectState();

            CurrentDispatcher.BeginInvoke(action);
        }
Exemple #3
0
        /// <summary> Обработчик изменения состояния подключений внутри логики C++ </summary>
        private void LogicModelConnectStateChangedHandler()
        {
            var modelConnectState = DataSourceUtility.GetCurrentModelConnectState();

            OnModelConnectStateChanged(modelConnectState);
        }