private void AddTarget() { this.NewTargetFolder.Validate(); var selectedPath = this.NewTargetFolder.FolderPath; var targetPath = Path.Combine(selectedPath, "VirgilDisk"); var errors = this.folderSettingsStorage.ValidateAddTarget(targetPath); this.NewTargetFolder.AddErrors(errors.SelectMany(it => it.Value).ToList()); if (this.NewTargetFolder.HasErrors) { return; } if (!Directory.Exists(targetPath)) { var di = Directory.CreateDirectory(targetPath); di.Attributes |= FileAttributes.Hidden; } var targetAlias = Path.GetDirectoryName(selectedPath) ?.Split(Path.DirectorySeparatorChar) .LastOrDefault(it => !string.IsNullOrWhiteSpace(it)) ?? ""; var folderDescriptor = new Folder { Alias = targetAlias, FolderPath = targetPath }; var model = new FolderViewModel(folderDescriptor); model.OnSuccessfullyChanged += this.OnFolderChanged; this.TargetFolders.Add(model); this.UpdateStorage(); this.NewTargetFolder.Reset(); }
private void OnFolderChanged(FolderViewModel model) { this.UpdateStorage(); }
private void RemoveTarget(FolderViewModel item) { item.OnSuccessfullyChanged -= this.OnFolderChanged; this.TargetFolders.Remove(item); this.UpdateStorage(); }