public CommandLineArguments ReadAndVerify([NotNull] string[] commandLineArgs, out bool requiresExit)
        {
            requiresExit = false;
            var options = new CommandLineArguments();
            if (Parser.Default.ParseArguments(commandLineArgs, options))
            {
                // make relative paths absolute
                if (!Path.IsPathRooted(options.ConfigurationFile))
                {
                    options.ConfigurationFile = Path.Combine(Environment.CurrentDirectory, options.ConfigurationFile);
                }
                if (!Path.IsPathRooted(options.CsvFile))
                {
                    options.CsvFile = Path.Combine(Environment.CurrentDirectory, options.CsvFile);
                }

                // check if files exist
                if (!File.Exists(options.ConfigurationFile))
                {
                    Program.WriteError(string.Format("Configuration file {0} not found.", options.ConfigurationFile));
                    requiresExit = true;
                }

                if (!options.GenerateCsvStub && !File.Exists(options.CsvFile))
                {
                    Program.WriteError(string.Format("CSV file {0} not found.", options.CsvFile));
                    requiresExit = true;
                }
                else if (options.GenerateCsvStub && File.Exists(options.CsvFile))
                {
                    Program.WriteError(string.Format("CSV stub file {0} already exists.", options.CsvFile));
                    requiresExit = true;
                }
            }
            else
            {
                Program.WriteError("Make sure you specified all required arguments.");
                requiresExit = true;
            }

            return options;
        }
 public ConfigurationService([NotNull] CommandLineArguments commandLineArguments)
 {
     _commandLineArguments = commandLineArguments;
 }
 public CsvService([NotNull] CommandLineArguments commandLineArguments, [NotNull] Configuration configuration)
 {
     _commandLineArguments = commandLineArguments;
     _configuration        = configuration;
     _apiClient            = ApiClientFactory.GetClient(configuration);
 }
 private static void ConfirmWarnings(CommandLineArguments commandLineArguments)
 {
     Write("There are warnings (see above). These may or may not be problematic during the import.");
     if (!commandLineArguments.ContinueOnWarnings)
     {
         Write("If you want to continue despite these warnings, confirm by typing YES. Press < Enter > to exit.");
         var confirm = Console.ReadLine();
         if (confirm != "YES")
         {
             Write("Exiting ...");
             Environment.Exit(3);
         }
     }
 }
 public CsvService([NotNull] CommandLineArguments commandLineArguments, [NotNull] Configuration configuration)
 {
     _commandLineArguments = commandLineArguments;
     _configuration = configuration;
     _apiClient = ApiClientFactory.GetClient(configuration);
 }