Exemplo n.º 1
0
        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
            });
        }
Exemplo n.º 3
0
        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();
            }
        }
Exemplo n.º 4
0
        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);
            }
        }