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(); }
public TypeEditor(string filePath) { InitializeComponent(); _FilePath = filePath; var fileContents = File.ReadAllText(filePath); _OriginalType = JsonConvert.DeserializeObject <POSHToolbeltType>(fileContents); SetUIValuesForType(_OriginalType); }
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)); }
private void SetUIValuesForType(POSHToolbeltType originalSnippet) { ListItems.Text = String.Join(Environment.NewLine, originalSnippet.ListValues); }