Пример #1
0
        // "Files/table.txt" -data -weightSum -costSum -withIndex -withTotalVolume
        public static void Main(string[] args)
        {
            var argParser = new ArgParser();

            argParser.ValidateArgs(args);
            var service = GetReportService(args, argParser);

            var report = service.CreateReport();

            PrintReport(report);

            Console.WriteLine("");
            Console.WriteLine("Press enter...");
            Console.ReadLine();
        }
Пример #2
0
        private static IReportService GetReportService(string[] args, ArgParser argParser)
        {
            // статический фабричный метод
            var filename = argParser.ParseName(args);

            if (filename.EndsWith(".txt"))
            {
                return(new TxtReportService(args, argParser));
            }

            if (filename.EndsWith(".csv"))
            {
                return(new CsvReportService(args, argParser));
            }

            if (filename.EndsWith(".xlsx"))
            {
                return(new XlsxReportService(args, argParser));
            }

            throw new NotSupportedException("this extension not supported");
        }