/// <summary>
        /// Program "main"
        /// </summary>
        /// <param name="args">list of command line args. Should contain
        ///                    [0]: the full path to the config file to run
        ///                    [1]: the path the the directory to search for files to run thru the validator</param>
        static void Main(string[] args)
        {
            bool missingArgs = false;

            if (args.Length < 1)
            {
                Console.WriteLine("Error: Missing arg for configFile path as 1st arg");
                missingArgs = true;
            }
            if (args.Length < 2)
            {
                Console.WriteLine("Error: Missing arg for search directory path as 2nd arg");
                missingArgs = true;
            }

            if (!missingArgs)
            {
                string        configFilePath      = args[0];
                string        searchDirectoryPath = args[1];
                FileValidator fileValidator       = new FileValidator();
                fileValidator.Run(configFilePath, searchDirectoryPath).GetAwaiter().GetResult();
            }

            Console.WriteLine("Press Enter to exit...");
            ConsoleKeyInfo keyInfo = Console.ReadKey(true);

            while (keyInfo.Key != ConsoleKey.Enter)
            {
                keyInfo = Console.ReadKey(true);
            }
        }
示例#2
0
        static void Main(string[] args)
        {
            string input_folder = ConfigurationManager.AppSettings["input_folder"];
            string file_mask = ConfigurationManager.AppSettings["file_mask"];
            string errors_file = ConfigurationManager.AppSettings["errors_file"];
            string delimiter = ConfigurationManager.AppSettings["delimiter"];
            string successDirectory = ConfigurationManager.AppSettings["successDirectory"];
            string failureDirectory = ConfigurationManager.AppSettings["failureDirectory"];

            IVersionProvider currentVersionProvider = new CurrentVersionProvider();
            IVersionProvider serverVersionProvider = new ServerVersionProvider();
            IUpdateResolver updateResolver = new UpdateResolver();

            ApplicationStats appStats = new ApplicationStats();

            appStats.ApplicationLaunched();

            ActiveUpdater activeUpdate = new ActiveUpdater(currentVersionProvider, serverVersionProvider, updateResolver);

            if (activeUpdate.UpdateSuccessful())
            {

                CompletedFileHandler completedFileHander = new CompletedFileHandler(successDirectory, failureDirectory);

                ValidatorsProvider validatorsProvider = new ValidatorsProvider();

                if (System.IO.Directory.Exists(Path.GetDirectoryName(errors_file)))
                {
                    LogFile logFile = new LogFile(errors_file);

                    if (delimiter.Length == 1)
                    {
                        if (System.IO.Directory.Exists(input_folder))
                        {
                            if (file_mask.Length > 0)
                            {
                                FileValidator fileValidator = new FileValidator(validatorsProvider.GetValidators(), delimiter, logFile, completedFileHander);

                                foreach (var file in Directory.EnumerateFiles(input_folder, file_mask))
                                {
                                    fileValidator.ValidateFile(file);
                                }
                            }
                            else
                            {
                                logFile.WriteLine("file_mask not provided. Check the appconfig is configured correctly.");
                            }

                        }
                        else
                        {
                            logFile.WriteLine("input_folder does not exist. Check the appconfig is configured correctly.");
                        }
                    }
                    else
                    {
                        logFile.WriteLine("Delimiter can only be one character. Check the appconfig is configured correctly.");
                    }
                }
                else
                {
                    Console.WriteLine("errors_file folder path does not exist. Check the appconfig is configured correctly. " + errors_file);
                }
            }
        }
示例#3
0
        static int Main(string[] args)
        {
            var app = new FileValidator();

            return(app.Run(args));
        }