private void InitFolders() { List <string> toRemove = new List <string>(); HashSet <string> added = new HashSet <string>(StringComparer.OrdinalIgnoreCase); AddFolderCommand cmd = new AddFolderCommand(); var settings = Factory.Resolve <Settings>(); foreach (string openFolder in settings.OpenFolders) { if (!added.Contains(openFolder) && Directory.Exists(openFolder)) { cmd.Execute(openFolder); added.Add(openFolder); } else { toRemove.Add(openFolder); } } foreach (string folder in toRemove) { settings.OpenFolders.Remove(folder); } }
public void AddFolder(string parentSubPath, string newFolderName) { // Darf noch nicht existieren var folderPath = Path.Combine(Path.GetDirectoryName(_projectFilePath), parentSubPath, newFolderName); if (Directory.Exists(folderPath)) { throw new ArgumentException($"A folder named '{newFolderName}' already exists in this directory!"); } _cmdProcessor.Execute(AddFolderCommand.Create(_outputService, _projectFilePath, parentSubPath, newFolderName)); ProjectItemChanged?.Invoke(new ProjectItemChangedArgs { ItemType = ProjectItemType.Folder, Change = ProjectItemChange.Create, ItemName = newFolderName, ParentSubPath = parentSubPath }); }
protected async Task CreateNewFolder() { var command = new AddFolderCommand { Name = SelectedFolder, Recipients = Recipients.Where(x => x.IsChecked).Select(x => x.Data).ToList(), CreateOnDisk = SelectedFolderCreationOption == FolderCreationOption.CreateNew }; try { await Mediator.Send(command); ClearForm(); } catch (ValidationException ex) { ValidationMessages = ex.Errors.Select(x => x.ErrorMessage).ToList(); } }
public void Should_AddFolder_And_Save() { var settingsStore = Substitute.For <ISettingsStore>(); var item = new Item { IsExpanded = false }; var command = new AddFolderCommand(item); var handler = new AddFolderCommandHandler(settingsStore); handler.Handle(command); Assert.IsTrue(item.IsExpanded); var folder = item.Items[0]; Assert.IsNotNull(folder); Assert.AreEqual("New Folder", folder.Name); Assert.AreEqual(true, folder.IsEditing); settingsStore.Received(1).TrySave(); }
private void InitFolders() { List<string> toRemove = new List<string>(); HashSet<string> added = new HashSet<string>(StringComparer.OrdinalIgnoreCase); AddFolderCommand cmd = new AddFolderCommand(); var settings = Factory.Resolve<Settings>(); foreach (string openFolder in settings.OpenFolders) { if (!added.Contains(openFolder) && Directory.Exists(openFolder)) { cmd.Execute(openFolder); added.Add(openFolder); } else { toRemove.Add(openFolder); } } foreach (string folder in toRemove) { settings.OpenFolders.Remove(folder); } }