private void ReceiveGetParamMessage(MessageBase message) { OutputSettings outputSettings = null; switch (OutputTo) { case OutputTo.CSV: outputSettings = new CSVOutputSettings(); var csvOutputSettings = outputSettings as CSVOutputSettings; csvOutputSettings.CSVFormat = GetCSVFormat(); csvOutputSettings.DateFormat = DateFormat; csvOutputSettings.Delimiter = Delimiter; csvOutputSettings.OutputDirectory = OutputLocation; csvOutputSettings.UseSectorValueAsVolume = IndexValueAsVolume; csvOutputSettings.SectorVolumeDivider = IndexValueDivisor; csvOutputSettings.Filename = ReportFilenameFormat; break; case OutputTo.Amibroker: outputSettings = new AmiOutputSettings(); outputSettings.UseSectorValueAsVolume = IndexValueAsVolume; outputSettings.SectorVolumeDivider = IndexValueDivisor; (outputSettings as AmiOutputSettings).DatabaseDirectory = OutputLocation; break; case OutputTo.Metastock: outputSettings = new MetaOutputSettings(); ((MetaOutputSettings)outputSettings).OutputDirectory = OutputLocation; ((MetaOutputSettings)outputSettings).UseSingleDirectory = MSSingleDirectory; break; } Messenger.Default.Send(new OutputSettingsMessage { DataOutputSettings = outputSettings }); }
static void ConvertIt(string fileToConvert) { IPdfService pdfService = new PdfTextSharpService(); var pseDocument = new PSEDocument(); IPSEReportReader reader = new PSEReportReader2(); reader.Fill(pseDocument, pdfService.ExtractTextFromPdf(fileToConvert)); if (_outputFormat.Contains("csv")) { string[] csvParam = _outputFormat.Split(':'); string csvFormat = string.Empty; if (csvParam.Length == 2) { csvFormat = csvParam[1]; csvFormat = csvFormat.Replace("S", "{S}"); csvFormat = csvFormat.Replace("D", "{D}"); csvFormat = csvFormat.Replace("O", "{O}"); csvFormat = csvFormat.Replace("H", "{H}"); csvFormat = csvFormat.Replace("L", "{L}"); csvFormat = csvFormat.Replace("C", "{C}"); csvFormat = csvFormat.Replace("V", "{V}"); csvFormat = csvFormat.Replace("F", "{F}"); } else { csvFormat = "{S},{D},{O},{H},{L},{C},{V},{F}"; } var csvOutputSettings = new CSVOutputSettings(); csvOutputSettings.CSVFormat = csvFormat; csvOutputSettings.DateFormat = _dateFormat; csvOutputSettings.Delimiter = ","; csvOutputSettings.Filename = Path.GetFileName(fileToConvert).Replace("pdf", "csv"); csvOutputSettings.OutputDirectory = _outputPath; csvOutputSettings.UseSectorValueAsVolume = true; csvOutputSettings.SectorVolumeDivider = 1000; pseDocument.ToCSV(csvOutputSettings); } else if ((HostOS.determineHostEnviroment() == HostOS.HostEnviroment.Windows) && (_outputFormat.Contains("ami"))) { IAmibrokerService amiService = new AmibrokerService(); if (!amiService.IsAmibrokerInstalled()) { throw new Exception("Error: Amibroker is not installed on this machine."); } string[] amiParam = _outputFormat.Split(':'); if (amiParam.Length < 2) { throw new Exception("Error: Unspecified Amibroker database folder."); } string amiDatabaseFolder = _outputFormat.Replace("ami:", string.Empty); var amiOutputSettings = new AmiOutputSettings(); amiOutputSettings.DatabaseDirectory = amiDatabaseFolder; amiOutputSettings.SectorVolumeDivider = 1000; amiOutputSettings.UseSectorValueAsVolume = true; pseDocument.ToAmibroker(amiOutputSettings); } }
public void ToAmibroker(AmiOutputSettings amiOutputSettings) { Converter.Convert <AmiOutputSettings>(this, amiOutputSettings); }