Ejemplo n.º 1
0
        /// <summary> Конструктор </summary>
        public ViewModelContactDetail(ModelContact modelContact)
        {
            CurrentModelContact = modelContact;

            CommandDelete = new Command(obj =>
            {
                if (DataSourceContact.DeleteModelContact(CurrentModelContact))
                {
                    OnDeleteModelContactSuccessful();
                }
            });

            CommandApplyInvite = new Command(obj => ApplyInvite());

            CommandDenyInvite = new Command(obj => DenyInvite());

            CommandAddToWhite = new Command(obj => { AddToWhite(); OnWhiteChanged(); });

            CommandDeleteFromWhite = new Command(obj => { DeleteFromWhite(); OnWhiteChanged(); });

            CommandSendRequest = new Command(obj => SendRequest());

            CommandBlock = new Command(obj => { DataSourceContact.BlockModelContact(CurrentModelContact); OnBlockedChanged(); });

            CommandUnblock = new Command(obj => { DataSourceContact.UnblockModelContact(CurrentModelContact); OnBlockedChanged(); });

            CurrentModelContact.PropertyChanged += CurrentModelContact_PropertyChanged;
        }
        /// <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();
        }