static void Main()

in src-csharp/Program.cs [26:89]


		static void Main(string[] args) {
			if(args.Length == 0) {
				Console.WriteLine(HelpText);
				return;
			}

			var firstArg = args[0];

			var builder = new ConfigurationBuilder()
				.SetBasePath(Environment.CurrentDirectory)
				.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
				.AddEnvironmentVariables()
				.Build();
			var awsOptions = builder.GetAWSOptions();
			Console.WriteLine(awsOptions.Profile + ":" + awsOptions.ProfilesLocation + ": " + awsOptions.Region.DisplayName);
			var textractTextService = new TextractTextDetectionService(awsOptions.CreateServiceClient<IAmazonTextract>());
			var textractAnalysisService = new TextractTextAnalysisService(awsOptions.CreateServiceClient<IAmazonTextract>());
			var translateService = new TranslateService(awsOptions.CreateServiceClient<IAmazonTranslate>());
			var comprehendService = new ComprehendService(awsOptions.CreateServiceClient<IAmazonComprehend>());
			var comprehendMedicalService = new ComprehendService(awsOptions.CreateServiceClient<IAmazonComprehendMedical>());
			var elasticSearchService = new ElasticSearchService(ElasticSearchEndpoint, ElasticSearchDomainName);

			switch(firstArg) {
				case "--detect-text-local":
					new DetectTextHandler(textractTextService).Handle(LocalEmploymentFile);
					break;
				case "--detect-text-s3":
					new DetectTextS3Handler(textractTextService).Handle(BucketName, S3File);
					break;
				case "--pdf-text":
					new PdfTextHandler(textractTextService).Handle(BucketName, PdfFile);
					break;
				case "--reading-order":
					new ReadingOrderHandler(textractTextService).Handle(BucketName, TwoColumnImage);
					break;
				case "--translate":
					new TranslateHandler(textractTextService, translateService).Handle(BucketName, S3File);
					break;
				case "--search":
					new SearchHandler(textractTextService, elasticSearchService).Handle(BucketName, S3File);
					break;
				case "--forms":
					new FormsHandler(textractAnalysisService).Handle(BucketName, FormFile);
					break;
				case "--forms-redaction":
					new FormsRedactionHandler(textractAnalysisService).Handle(BucketName, FormFile, LocalFolder, LocalEmploymentFile);
					break;
				case "--tables":
					new TablesHandler(textractAnalysisService).Handle(BucketName, FormFile);
					break;
				case "--tables-expense":
					new TablesExpenseHandler(textractAnalysisService).Handle(BucketName, ExpenseFile);
					break;
				case "--nlp-comprehend":
					new NlpComprehendHandler(textractTextService, comprehendService).Handle(LocalSimpleFile);
					break;
				case "--nlp-medical":
					new NlpComprehendMedicalHandler(textractTextService, comprehendMedicalService).Handle(LocalMedicalFile);
					break;
				default:
					Console.WriteLine(HelpText);
					break;
			}
		}