public DirectoryListViewModel( IDirectoryDataService directorySetupService, IInjectionProviderService injectionProviderService, CreateDirectorySetupCommand createDirectorySetup, FullSyncCommand fullSync, GenerateItemsFromFilesCommand generateItems) { this._directorySetupService = directorySetupService; this._injectionProviderService = injectionProviderService; this.CreateDirectorySetup = createDirectorySetup; FullSync = fullSync; GenerateItems = generateItems; this._injectionProviderService .Provider .Select(provider => this._directorySetupService .Get() .Connect() .Sort(dir => (string)dir.Name) .Transform(item => { var vm = provider.GetRequiredService <DirectorySetupCardViewModel>(); vm.DirectorySetupChanges.OnNext(item); return(vm); }) ) .Switch() .TakeUntil(destroy) .DisposeMany() .ObserveOn(RxApp.MainThreadScheduler) .Bind(out _directories) .Subscribe(); }
public FileListViewModel(IFileDataService fileInfoService, GenerateItemsFromFilesCommand generateItems) { this.GenerateItems = generateItems; this._fileInfoService = fileInfoService; this._fileInfoService .GetExtended() .Connect() .Sort(file => file.AbsolutePath) .ObserveOn(RxApp.MainThreadScheduler) .Bind(out _files) .TakeUntil(destroy) .Subscribe(); }