Пример #1
0
        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));
        }
Пример #3
0
        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));
        }