private void Create_Click(object sender, RoutedEventArgs e)
        {
            var name = NewSnippetName.Text;

            if (!name.EndsWith(FileExtensions.SnippetExtension))
            {
                name = name + FileExtensions.SnippetExtension;
            }

            var newSnippet = new POSHToolbeltSnippet();

            newSnippet.Name = name.Substring(0, name.LastIndexOf(FileExtensions.SnippetExtension));

            var fileText = JsonConvert.SerializeObject(newSnippet, Formatting.Indented);

            var fileAttributes = File.GetAttributes(_Path);

            if (fileAttributes.HasFlag(FileAttributes.Directory))
            {
                File.WriteAllText(Path.Combine(_Path, name), fileText);
            }
            else
            {
                var directory = Path.GetDirectoryName(_Path);
                File.WriteAllText(Path.Combine(directory, name), fileText);
            }

            FileBrowserService.RefreshTreeView();
            Close();
        }
Ejemplo n.º 2
0
        public override string GetCurrentFileContents()
        {
            var newSnippet = new POSHToolbeltSnippet();

            newSnippet.ID     = _OriginalSnippet.ID;
            newSnippet.Script = ScriptEditor.Text;
            newSnippet.Inputs = GetInputsFromUI();
            return(JsonConvert.SerializeObject(newSnippet, Formatting.Indented));
        }
Ejemplo n.º 3
0
 private void SetUIValuesForSnippet(POSHToolbeltSnippet originalSnippet)
 {
     ScriptEditor.Text = originalSnippet.Script;
     foreach (var input in originalSnippet.Inputs)
     {
         var grid = GetGridForInput(input);
         InputStack.Children.Add(grid);
     }
 }
Ejemplo n.º 4
0
        public SnippetEditor(string filePath)
        {
            InitializeComponent();
            _FilePath = filePath;
            var fileContents = File.ReadAllText(filePath);

            _OriginalSnippet = JsonConvert.DeserializeObject <POSHToolbeltSnippet>(fileContents);
            SetUIValuesForSnippet(_OriginalSnippet);
        }