コード例 #1
0
        private static IFileExport GetExport(string flag)
        {
            Enumerations.ExportFileStructure export = Enumerations.ExportFileStructure.None;

            if (flag.Equals(m_Export_TextFile, StringComparison.OrdinalIgnoreCase))
            {
                export = Enumerations.ExportFileStructure.TextFile;
            }
            else if (flag.Equals(m_Export_TextFlat, StringComparison.OrdinalIgnoreCase))
            {
                export = Enumerations.ExportFileStructure.TextFlat;
            }
            else if (flag.Equals(m_Export_CsvFile, StringComparison.OrdinalIgnoreCase))
            {
                export = Enumerations.ExportFileStructure.CSV;
            }
            else
            {
                throw new ArgumentException($"The export flag is unhandled: \"{flag}\".");
            }

            Log($"Export is {export}");

            return(FileExporterFactory.Get(export));
        }
コード例 #2
0
        public static IFileExport Get(Enumerations.ExportFileStructure exportFileStructure)
        {
            IFileExport exportType = new Empty();

            switch (exportFileStructure)
            {
            case Enumerations.ExportFileStructure.None:

                // Do nothing. Keep the case so that we know it's being
                // handled and it's not a mistake.
                break;

            case Enumerations.ExportFileStructure.TextFile:
                exportType = new TextFile();
                break;

            case Enumerations.ExportFileStructure.TextFlat:
                exportType = new TextFlat();
                break;

            case Enumerations.ExportFileStructure.CSV:
                exportType = new CsvFile();
                break;

            default:
                throw new ArgumentException($"Unhandled {nameof(Enumerations.ExportFileStructure)}: {exportFileStructure}");
            }

            return(exportType);
        }