public TermsAndConditionsViewModel(LegalDocuments legalDocuments, RoutableViewModel next) { Title = "Welcome to Wasabi Wallet"; ViewTermsCommand = ReactiveCommand.CreateFromTask( async() => { var content = await File.ReadAllTextAsync(legalDocuments.FilePath); var legalDocs = new LegalDocumentsViewModel(content); Navigate().To(legalDocs); }); NextCommand = ReactiveCommand.Create( () => Navigate().BackTo(next), this.WhenAnyValue(x => x.IsAgreed).ObserveOn(RxApp.MainThreadScheduler)); }
public TermsAndConditionsViewModel(LegalChecker legalChecker, RoutableViewModel next) { ViewTermsCommand = ReactiveCommand.Create( () => { if (legalChecker.TryGetNewLegalDocs(out _)) { var legalDocs = new LegalDocumentsViewModel(legalChecker); Navigate().To(legalDocs); } }); NextCommand = ReactiveCommand.CreateFromTask( async() => { await legalChecker.AgreeAsync(); Navigate().To(next, NavigationMode.Clear); }, this.WhenAnyValue(x => x.IsAgreed).ObserveOn(RxApp.MainThreadScheduler)); }
public TermsAndConditionsViewModel(NavigationStateViewModel navigationState, LegalDocuments legalDocuments, RoutableViewModel next) : base(navigationState) { ViewTermsCommand = ReactiveCommand.CreateFromTask( async() => { var content = await File.ReadAllTextAsync(legalDocuments.FilePath); var legalDocs = new LegalDocumentsViewModel( navigationState, content); legalDocs.NavigateToSelf(CurrentTarget); }); NextCommand = ReactiveCommand.Create( () => { NavigateTo(next); }, this.WhenAnyValue(x => x.IsAgreed).ObserveOn(RxApp.MainThreadScheduler)); }