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();
 }
Beispiel #2
0
        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();
        }