private string GenerateCsvConfig(string targetFilePath, GenerateConfigSettings newSettings) { if (!File.Exists(targetFilePath)) { throw new FileNotFoundException("Target CSV file not exist.", targetFilePath); } var targetFileDir = Path.GetDirectoryName(targetFilePath); var targetFileName = Path.GetFileNameWithoutExtension(targetFilePath); var configFilePath = Path.Combine(targetFileDir, targetFileName + ".config.csx"); if (File.Exists(configFilePath)) { throw new InvalidOperationException($"Config File \"{configFilePath}\" already exists."); } //Generate a CSV config template. var configText = GenerateCsvConfigText(targetFilePath, newSettings.TargetFileEncoding, newSettings.HasHeaderRecord); //Save to template file. var templateFilePath = Path.Combine(ConfigFileDirectory, newSettings.TemplateName + ".config.csx"); File.WriteAllText(templateFilePath, configText); CurrentConfigFilePath = templateFilePath; if (!SettingsList.Contains(newSettings.TemplateName)) { SettingsList.Add(newSettings.TemplateName); } return(configText); }
private void Apply() { Settings = new GenerateConfigSettings { TemplateName = TemplateName, TargetFileEncoding = Encodings[TargetEncodingIndex].GetEncoding(), HasHeaderRecord = HasHeaderRecord }; }
private void Apply() { Settings = new GenerateConfigSettings { TemplateName = TemplateName, TargetFileEncoding = Encodings[TargetEncodingIndex].GetEncoding(), CaltureInfo = CultureInfoList[CultureInfoIndex], HasHeaderRecord = HasHeaderRecord, AutoTypeDetection = AutoTypeDetection }; }