private void OnAssignFoldersButtonClick(object sender, EventArgs e) { if (SourceFoldersListBox.SelectedItems.Count > 0 && TargetFoldersListBox.SelectedItems.Count > 0) { if (_assignedFolders == null) { return; } object[] sources = new object[SourceFoldersListBox.SelectedItems.Count]; object[] targets = new object[TargetFoldersListBox.SelectedItems.Count]; SourceFoldersListBox.SelectedItems.CopyTo(sources, 0); TargetFoldersListBox.SelectedItems.CopyTo(targets, 0); sources.ToList().ForEach(source => { targets.ToList().ForEach(target => { if (source == null || target == null) { return; } string sourcePath = source as string; string targetPath = target as string; if (string.IsNullOrWhiteSpace(sourcePath) || string.IsNullOrWhiteSpace(targetPath)) { return; } DirectoryInfo sourceDirectory = new DirectoryInfo(sourcePath); DirectoryInfo targetDirectory = new DirectoryInfo(targetPath); if (!sourceDirectory.Exists || !targetDirectory.Exists) { return; } var data = new KeyValuePair <DirectoryInfo, DirectoryInfo>(sourceDirectory, targetDirectory); if (!_assignedFolders.Contains(data)) { _assignedFolders.Add(data); } }); }); TargetFoldersListBox.ClearSelected(); SourceFoldersListBox.ClearSelected(); } else { MessageBox.Show("You need to choose source and target folders before", "Achtung", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private void OnRemoveTargetFolderButtonClick(object sender, EventArgs e) { if (TargetFoldersListBox.SelectedIndex == -1 || String.IsNullOrWhiteSpace(TargetFoldersListBox.SelectedItem as string)) { return; } RemoveFolder(new DirectoryInfo((string)TargetFoldersListBox.SelectedItem), FolderType.Target); TargetFoldersListBox.ClearSelected(); }
private void OnAddTargetFolderButtonClick(object sender, EventArgs e) { using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog() { Description = "Select target folder", ShowNewFolderButton = true }) { if (folderBrowserDialog.ShowDialog(this) != DialogResult.OK) { return; } if (!string.IsNullOrWhiteSpace(folderBrowserDialog.SelectedPath) && Directory.Exists(folderBrowserDialog.SelectedPath)) { AddFolder(new DirectoryInfo(folderBrowserDialog.SelectedPath), FolderType.Target); } } TargetFoldersListBox.ClearSelected(); }
private void OnClearTargetFoldersButtonClick(object sender, EventArgs e) { ClearFolders(FolderType.Target); TargetFoldersListBox.ClearSelected(); }