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

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

            var newType = new POSHToolbeltType();

            newType.HasMultipleValues = true;
            newType.Name = name.Substring(0, name.LastIndexOf(FileExtensions.TypeExtension));

            var fileText = JsonConvert.SerializeObject(newType, 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();
        }
Esempio n. 2
0
        public TypeEditor(string filePath)
        {
            InitializeComponent();
            _FilePath = filePath;
            var fileContents = File.ReadAllText(filePath);

            _OriginalType = JsonConvert.DeserializeObject <POSHToolbeltType>(fileContents);
            SetUIValuesForType(_OriginalType);
        }
Esempio n. 3
0
        public override string GetCurrentFileContents()
        {
            var newType = new POSHToolbeltType();

            newType.ID = _OriginalType.ID;
            newType.HasMultipleValues = _OriginalType.HasMultipleValues;
            newType.EmitQuotes        = _OriginalType.EmitQuotes;
            newType.Name  = _OriginalType.Name;
            newType.Regex = _OriginalType.Regex;
            var list = ListItems.Text.Split(Environment.NewLine).Where(x => !String.IsNullOrEmpty(x));

            newType.ListValues.Add(newType.Name, list.ToList());
            return(JsonConvert.SerializeObject(newType, Formatting.Indented));
        }
Esempio n. 4
0
 private void SetUIValuesForType(POSHToolbeltType originalSnippet)
 {
     ListItems.Text = String.Join(Environment.NewLine, originalSnippet.ListValues);
 }