private async void MainWIndow_Closing(object sender, CancelEventArgs e) { if (AppHelpers.CheckRootDir()) { if (ConfigurationManager.Config.DoesAppBackUp) { await backupEntriesJob?.RunJob(); } ConfigurationManager.SaveConfig(); } }
public MainWindowViewModel(AnimeViewModel animeViewModel, MangaViewModel mangaViewModel, SettingsViewModel settingsViewModel, IRunJobs <UpdateDbEntries> updateDbEntries) { _animeViewModel = animeViewModel; _mangaViewModel = mangaViewModel; _settingsViewModel = settingsViewModel; _updateDbEntries = updateDbEntries; ViewModels = new ObservableCollection <BaseViewModel>() { _animeViewModel, _mangaViewModel, _settingsViewModel }; ViewModelsView = CollectionViewSource.GetDefaultView(ViewModels); if (AppHelpers.CheckRootDir()) { InitApp(); } else { ConsentBoxVisibility = Visibility.Visible; } ToastEvent.ToastMessageRecieved += (sender, args) => { ToastMessage = args.Message; ToastMessageType = args.MessageType; }; JobEvent.JobStarted += (sender, args) => { IsJobRunning = true; JobDescription = args.JobDescription; JobProgressMaximum = args.JobLength; }; JobEvent.JobProgressChanged += (sender, args) => { JobProgressCurrent = args.IsIncremental ? (JobProgressCurrent + args.Progress) : args.Progress; if (args.StageDescriptor != null) { JobStage = args.StageDescriptor; } }; JobEvent.JobEnded += (sender) => { JobProgressCurrent = 0; IsJobRunning = false; }; }
protected override bool PrepareAndCheckIfCanRun(object[] args) { isSilent = true; return(AppHelpers.CheckRootDir() && ConfigurationManager.Config.DoesAppBackUp); }