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 FileDataService( IDirectoryDataService directorySetupService, INotificationCenterService notificationCenterService, ISettingsService settingsService) : base(settingsService, notificationCenterService) { this._directorySetupService = directorySetupService; this._notificationCenterService = notificationCenterService; this._settingsService = settingsService; _getFullFileInfo = this._directorySetupService .Get() .Connect() .LeftJoinMany( this.cache.Connect(), (dirSetup) => dirSetup.DirectorySetupId, (left, right) => right.Items.Select(item => new FileInfoEx(left, item)) ) .TransformMany(x => x, x => x.FileInfo.Id) .TakeUntil(destroy) .AsObservableCache(); _getFullFIleInfoByHash = this._getFullFileInfo .Connect() .Filter(file => FileInfoHashKey.CanBuild(file.FileInfo)) .ChangeKey(file => file.FileInfo.HashKey.Value) .AsObservableCache(); _fileHashCache = this.cache .Connect() .Filter(file => file.FileHash.HasValue && file.IsAccessible) .ChangeKey(file => file.HashKey.Value) .AsObservableCache(); }
public RemoveDirectorySetupRecursivelyCommand(ILibraryManagementService libraryManagementService, IDirectoryDataService directoryDataService) { this.libraryManagementService = libraryManagementService; this.directoryDataService = directoryDataService; directoryDataService .Get() .Connect() .TakeUntil(destroy) .ObserveOn(RxApp.MainThreadScheduler) .Subscribe(_ => { this.CanExecuteChanged?.Invoke(this, new EventArgs()); }); }
public SaveService( IItemService itemService, IFileDataService _fileDataService, IFileItemLinkService _fileItemLinkService, IDirectoryDataService directoryDataService, INotificationCenterService notificationCenterService, ISettingsService settingsService) { this._itemService = itemService ?? throw new ArgumentNullException(nameof(itemService)); this._fileDataService = _fileDataService; fileItemLinkService = _fileItemLinkService; this._directoryDataService = directoryDataService ?? throw new ArgumentNullException(nameof(directoryDataService)); this._notificationCenterService = notificationCenterService; this.settingsService = settingsService; }
public LibraryManagementService( IDirectoryDataService directoryDataService, IFileDataService fileDataService, IFileItemLinkService fileItemLinkService, IItemService itemService, INotificationCenterService notificationCenter, ISettingsService settingsService, IFileManagementService fileManagementService) { this.directoryDataService = directoryDataService; this.fileDataService = fileDataService; this.fileItemLinkService = fileItemLinkService; this.itemService = itemService; this.notificationCenter = notificationCenter; this.settingsService = settingsService; this.fileManagementService = fileManagementService; }
public DeleteDirectorySetupCommand(IDirectoryDataService directorySetupService) { this._directorySetupService = directorySetupService; }
public SaveService(IItemService itemService, IDirectoryDataService directoryDataService, ISettingsService settingsService) { this._itemService = itemService ?? throw new ArgumentNullException(nameof(itemService)); this._directoryDataService = directoryDataService ?? throw new ArgumentNullException(nameof(directoryDataService)); this._settingsService = settingsService; }