Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using ReactiveUI;
- using SeedDb.Models;
- using SeedDb.Services;
- using System;
- using System.IO;
- using System.Reactive.Linq;
- namespace SeedDb.ViewModels
- {
- public class MainWindowViewModel : ViewModelBase
- {
- ViewModelBase _content;
- private static readonly string _setupPath = "setup.json";
- // private DatabaseEngine _db = new();
- private JsonEngine _js;
- private Helpers _hp;
- private SetupModel _setupConfig = new();
- public MainWindowViewModel(JsonEngine js, Helpers hp)
- {
- _js = js;
- if (!SetupConfig.Tos)
- {
- js.CreateSetupFile();
- TermsOfService();
- }
- else
- {
- // LoginScreen();
- }
- }
- /*public void LoginScreen()
- {
- var vm = new LoginViewModel();
- }*/
- public void TermsOfService()
- {
- var vm = new TermsOfServiceViewModel(_js, _hp);
- Observable.Merge(
- vm.Ok,
- vm.Cancel
- .Select(_ => (SetupModel)null))
- .Take(1)
- .Subscribe(model =>
- {
- if (!model.Tos)
- {
- Environment.Exit(0);
- }
- else
- {
- SetupConfig.Tos = true;
- CreateNewUser();
- }
- });
- Content = vm;
- }
- public void CreateNewUser()
- {
- var vm = new CreateNewUserViewModel(_js);
- Content = vm;
- }
- public ViewModelBase Content
- {
- get => _content;
- set => this.RaiseAndSetIfChanged(ref _content, value);
- }
- public SetupModel SetupConfig
- {
- get => _setupConfig;
- set => this.RaiseAndSetIfChanged(ref _setupConfig, value);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment