Пример #1
0
        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");
            }
        }
Пример #2
0
        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());
        }
Пример #3
0
        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);
        }
Пример #4
0
        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());
            }
        }