public RestoreViewModel(ILocalSettings tr,IcloudRepository repository) { var canSearch = this.WhenAny(x => x.FilterPattern, x => !String.IsNullOrWhiteSpace(x.Value)); Search = ReactiveCommand.Create(canSearch,System.Reactive.Concurrency.DispatcherScheduler.Current); Search.CanExecute(canSearch); Search.Subscribe(x => CreateTreeView(this.FilterPattern)); this.WhenAnyValue(x => x.FilterPattern) .Throttle(TimeSpan.FromSeconds(1), RxApp.MainThreadScheduler); RestoreFiles = new RelayCommand(() => ExecuteRestoreFiles()); OpenDialog = new RelayCommand(() => ExecuteOpenFileDialog()); RefreshData = new RelayCommand(() => RefreshCurrentData()); this.repository = repository; this.localsettings = tr; CreateTreeView(); }
private void CreateRepository() { this.unitofwork = ServiceLocator.Current.GetInstance<ISettingRepository>(); this.localsettings = unitofwork.getdata(); this.repository = new cloudRepository(this.localsettings); }
private void BackupStart(object sender, DoWorkEventArgs e) { if (!canRunBackup) return; canRunBackup = false; using (_cloudRepos = new cloudRepository(_localsetting)) { _cloudRepos.uploadFilesAsync(); } }