コード例 #1
0
ファイル: Program.cs プロジェクト: AntonUkrainets/FileParser
        public static void Main(string[] args)
        {
            var logPath = "application.log";

            ILogger logger = new AggregatedLogger
                             (
                new FileLogger(logPath),
                new ConsoleLogger()
                             );

            var environment = new AppEnvironment(logger);

            try
            {
                if (!Validator.IsArgumentsValid(args))
                {
                    logger.LogInformation(
                        $"Input must be like <FilePath> <SearchString>;{Environment.NewLine}" +
                        $"<FilePath> <SearchString> <ReplaceableString");

                    return;
                }

                var inputData = environment.Parse(args);

                environment.Run(inputData);
            }
            catch (Exception ex)
            {
                logger.LogInformation(ex.Message);
            }
        }
コード例 #2
0
        public static void Main(string[] args)
        {
            var logPath = "application.log";

            ILogger logger = new AggregatedLogger(
                new FileLogger(logPath),
                new ConsoleLogger()
                );

            IConsoleManager consoleManager = new ConsoleManager();
            var             environment    = new AppEnvironment(logger, consoleManager);

            var figures = new List <Figure>();

            try
            {
                var figure = environment.Parse(args);
                figures.Add(figure);

                var extraFigures = environment.RequestExtraFigures();
                figures.AddRange(extraFigures);

                var sortedAreas = figures
                                  .OrderByDescending(f => f.Area)
                                  .ToList();

                sortedAreas.ForEach(f => consoleManager.WriteLine($"[{f.Name}]: {f.Area} cm"));
            }
            catch (Exception ex)
            {
                logger.LogInformation(ex.Message);
            }
        }
コード例 #3
0
        public static void Main(string[] args)
        {
            var logPath = "application.log";

            var logger = new AggregatedLogger(
                new FileLogger(logPath),
                new ConsoleLogger()
                );

            try
            {
                if (!Validator.IsParametersValid(args))
                {
                    logger.LogInformation("Input data must be in format <LocalizationType> <number>");

                    return;
                }

                var languageNumbersDescriptors = new ILanguageNumbersDescriptor[]
                {
                    new EnLoсalizationNumbers(),
                    new RuLocalizationNumbers(),
                    new UaLocalizationNumbers()
                };

                var inputDataParser = new InputDataParser(languageNumbersDescriptors, logger);
                var inputData       = inputDataParser.GetInputData(args);

                var localization = languageNumbersDescriptors.First(l => l.Name == inputData.LocalizationName);

                var result = NumberConverter.ConvertToString(inputData.Number, localization);

                logger.LogInformation($"Result: {result}");
            }
            catch (Exception ex)
            {
                logger.LogInformation(ex.Message);
            }
        }
コード例 #4
0
        public static void Main(string[] args)
        {
            var logPath = "application.log";

            var logger = new AggregatedLogger(
                new FileLogger(logPath),
                new ConsoleLogger()
                );

            IConsoleManager consoleManager = new ConsoleManager();
            var             environment    = new AppEnvironment(consoleManager);

            try
            {
                var envelopes = environment.Parse(args);

                var analysis = environment.CheckEnvelopes(envelopes);

                do
                {
                    consoleManager.WriteLine($"{analysis}");

                    envelopes = environment.RequestExtraEnvelopes();

                    if (envelopes == null)
                    {
                        break;
                    }

                    analysis = environment.CheckEnvelopes(envelopes);
                }while (envelopes.Any());
            }
            catch (Exception ex)
            {
                logger.LogInformation(ex.Message);
            }
        }