private void BtnConvert_Click(object sender, RoutedEventArgs e) { if (!string.IsNullOrWhiteSpace(txtConvertOld.Text) || !string.IsNullOrWhiteSpace(txtConvertNew.Text)) { var path = AppService.ShowOpenFileDialog(opts, "txt files (*.txt)|*.txt"); if (!string.IsNullOrWhiteSpace(path)) { var lines = FileIoService.GetStringCollectionFromFile(path); var newLines = new List <string>(); foreach (string line in lines) { newLines.Add(line.Replace(txtConvertOld.Text.Single(), txtConvertNew.Text.Single())); } FileIoService.SaveLineCollectionToFile(newLines, path); AppService.LogLine("Converted file: " + path); } else { MessageBox.Show("Path is required to convert file"); } } else { MessageBox.Show("Must have a value in both delimiter boxes"); } }
public static string GetTermsP2(ProgramOptions opts) { var termLines = FileIoService.GetStringCollectionFromFile(opts.DefaultTermsPathP2); var sb = new StringBuilder(); foreach (string line in termLines) { sb.AppendLine(line); } return(sb.ToString()); }
public static List <string> GenerateFromTemplate(ProgramOptions opts, Object item) { var templateLines = FileIoService.GetStringCollectionFromFile(opts.SelectedTemplate); var itemProps = item.GetType().GetProperties(); var newLines = new List <string>(); foreach (string line in templateLines) { if (line.Contains("{")) { var firstPos = line.IndexOf('{'); var lastPos = line.IndexOf('}'); var propToReplace = line.Substring(firstPos + 1, lastPos - firstPos - 1); var bracketedProp = $"{{{propToReplace}}}"; var itemProp = itemProps.FirstOrDefault(x => x.Name.Equals(propToReplace)); if (itemProp != null) { newLines.Add(line.Replace(bracketedProp, itemProp.GetValue(item).ToString()).Trim()); } else if (itemProp == null && propToReplace.ToUpper().Contains("TERMSP1")) { newLines.Add(line.Replace(bracketedProp, GetTermsP1(opts))); } else if (itemProp == null && propToReplace.ToUpper().Contains("TERMSP2")) { newLines.Add(line.Replace(bracketedProp, GetTermsP2(opts))); } else { LogLine($"Item {item.GetType().ToString()} does not contain property {propToReplace}"); newLines.Add(@"<div style='display:none;'>Error replacing property " + propToReplace + "</div>"); } } else if (!string.IsNullOrWhiteSpace(line)) { newLines.Add(line.Trim()); } } return(newLines); }
public static char GetDelimiter() { var fileLines = new List <string>(); var fileExisted = FileIoService.CreateFileIfDoesntExist(GlobalConstants.DelimiterFilePath); if (fileExisted) { fileLines = FileIoService.GetStringCollectionFromFile(GlobalConstants.DelimiterFilePath); } //if the delimiter file does not exist, create it and add default delimiter if (fileLines.Count == 0) { FileIoService.SaveSingleLineToFile("|", GlobalConstants.DelimiterFilePath); LogLine("Delimiter file was created with default value |. To change, go to program directory and update character in delimiter.txt and restart application"); return(GetDelimiter()); } else { return(fileLines.First().First()); } }