internal void Handle()

in src-csharp/ArgHandlers/TablesExpenseHandler.cs [15:46]


		internal void Handle(string bucketName, string expenseFile) {
			var task = textractAnalysisService.StartDocumentAnalysis(bucketName, expenseFile, "TABLES");
			var jobId = task.Result;
			textractAnalysisService.WaitForJobCompletion(jobId);
			var results = textractAnalysisService.GetJobResults(jobId);
			var warnings = new StringBuilder();
			float expense;
			var lineItem = new List<string>();
			var document = new TextractDocument(results);
			document.Pages.ForEach(page => {
				page.Tables.ForEach(table => {
					var r = 0;
					table.Rows.ForEach(row => {
						r++;
						var itemName = string.Empty;
						var c = 0;
						row.Cells.ForEach(cell => {
							c++;
							Console.WriteLine("Table [{0}][{1}] = {2}", r, c, cell.Text);
							if(c == 1) {
								itemName = cell.Text;
							} else if(c == 5 && float.TryParse(cell.Text, out expense)) {
								if(expense > 100) {
									warnings.AppendFormat("{0} is greater than $100{1}", itemName, Environment.NewLine);
								}
							}
						});
					});
				});
			});
			Console.WriteLine(string.Format("{0}===Warnings==={0}{1}===", Environment.NewLine, warnings));
		}