mekasu0124

Untitled

Mar 8th, 2024
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.04 KB | None | 0 0
  1. using ReactiveUI;
  2. using SeedDb.Models;
  3. using SeedDb.Services;
  4. using System;
  5. using System.IO;
  6. using System.Reactive.Linq;
  7.  
  8. namespace SeedDb.ViewModels
  9. {
  10.     public class MainWindowViewModel : ViewModelBase
  11.     {
  12.         ViewModelBase _content;
  13.  
  14.         private static readonly string _setupPath = "setup.json";
  15.  
  16.         // private DatabaseEngine _db = new();
  17.         private JsonEngine _js;
  18.         private Helpers _hp;
  19.  
  20.         private SetupModel _setupConfig = new();
  21.  
  22.         public MainWindowViewModel(JsonEngine js, Helpers hp)
  23.         {
  24.             _js = js;
  25.  
  26.             if (!SetupConfig.Tos)
  27.             {
  28.                 js.CreateSetupFile();
  29.                 TermsOfService();
  30.             }
  31.             else
  32.             {
  33.                 // LoginScreen();
  34.             }
  35.         }
  36.  
  37.         /*public void LoginScreen()
  38.         {
  39.             var vm = new LoginViewModel();
  40.         }*/
  41.  
  42.         public void TermsOfService()
  43.         {
  44.             var vm = new TermsOfServiceViewModel(_js, _hp);
  45.  
  46.             Observable.Merge(
  47.                 vm.Ok,
  48.                 vm.Cancel
  49.                 .Select(_ => (SetupModel)null))
  50.                 .Take(1)
  51.                 .Subscribe(model =>
  52.                 {
  53.                     if (!model.Tos)
  54.                     {
  55.                         Environment.Exit(0);
  56.                     }
  57.                     else
  58.                     {
  59.                         SetupConfig.Tos = true;
  60.                         CreateNewUser();
  61.                     }
  62.                 });
  63.  
  64.             Content = vm;
  65.         }
  66.  
  67.         public void CreateNewUser()
  68.         {
  69.             var vm = new CreateNewUserViewModel(_js);
  70.  
  71.             Content = vm;
  72.         }
  73.  
  74.         public ViewModelBase Content
  75.         {
  76.             get => _content;
  77.             set => this.RaiseAndSetIfChanged(ref _content, value);
  78.         }
  79.  
  80.         public SetupModel SetupConfig
  81.         {
  82.             get => _setupConfig;
  83.             set => this.RaiseAndSetIfChanged(ref _setupConfig, value);
  84.         }
  85.     }
  86. }
  87.  
Advertisement
Add Comment
Please, Sign In to add comment