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); }); }
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)); }); }); }