private void InitializeSubscriptions()
        {
            _loggedSubscription = NPublisher.SubscribeIt <LoggedMessage>(message =>
            {
                InitializeTimer();
            });

            _unloggedSubscription = NPublisher.SubscribeIt <LogoutMessage>(async message =>
            {
                SynchronizationTimerTokenSource.Cancel(true);
                SynchronizationTimer.Stop();

                var dbCleaner = Container.Resolve <ICleanService>();
                dbCleaner.Clean();

                MainThread.BeginInvokeOnMainThread(InitializeStartPage);
            });
        }
Exemple #2
0
        protected NoteViewModel(IViewModelFacade viewModelFacade) : base(viewModelFacade)
        {
            SelectNoteCommand = new Command <Note>(async(x) => await GoToNoteAsync(x));

            _newNotesSubscription = NPublisher.SubscribeIt <NewNotesMessage>(async message =>
            {
                var query = new GetActiveNotesQuery();
                var notes = await DispatchQueryAsync <GetActiveNotesQuery, ICollection <Note> >(query);

                MainThread.BeginInvokeOnMainThread(() =>
                {
                    Notes.Clear();

                    foreach (var note in notes)
                    {
                        Notes.Add(note);
                    }

                    OnPropertyChanged(nameof(Notes));
                    OnPropertyChanged(nameof(Note.CreatedAt));
                    OnPropertyChanged(nameof(Note.Name));
                });
            });
        }