예제 #1
0
        public async Task InitializeAsync(ActiveFileBackup.Configuration.Config config)
        {
            var selectedFolders =
                from folder in config.FolderList
                select new SelectedFolder(new DirectoryInfo(folder.Path), folder.Recursive);
            var selectedFoldersObservableCollection = new ObservableCollection <SelectedFolder>(selectedFolders);

            selectedFoldersObservableCollection.CollectionChanged += SelectedFolders_CollectionChanged;

            var drives = await FileProvider.GetDrivesAsync();

            var directories =
                from drive in drives
                select new Folder(drive, selectedFoldersObservableCollection);

            Directories = directories;
            OnPropertyChanged(() => Directories);

            var oldSelectedFolders = SelectedFolders;

            SelectedFolders = new ListCollectionView(selectedFoldersObservableCollection);
            SelectedFolders.SortDescriptions.Add(new SortDescription("Directory.FullName", ListSortDirection.Ascending));
            SelectedFolders.MoveCurrentToPosition(-1);
            OnPropertyChanged(() => SelectedFolders);

            if (oldSelectedFolders != null)
            {
                ((ObservableCollection <SelectedFolder>)oldSelectedFolders.SourceCollection).CollectionChanged -= SelectedFolders_CollectionChanged;
            }
        }
예제 #2
0
        public async Task InitializeAsync(ActiveFileBackup.Configuration.Config config)
        {
            Path     = config.Backup.Path;
            Username = config.Backup.Username;
            Password = config.Backup.Password;

            await Task.Yield();
        }
예제 #3
0
        public void UpdateConfig(ActiveFileBackup.Configuration.Config config)
        {
            config.FolderList.Clear();

            var selectedFolders = SelectedFolders.OfType <SelectedFolder>().OrderBy(x => x.Directory.FullName).ToList();

            foreach (var folder in selectedFolders)
            {
                config.FolderList.Add(new ActiveFileBackup.Configuration.Folder(folder.Directory.FullName, folder.Recursive));
            }
        }
예제 #4
0
 public void UpdateConfig(ActiveFileBackup.Configuration.Config config)
 {
     config.Backup.Path     = Path;
     config.Backup.Username = Username;
     config.Backup.Password = Password;
 }