private static bool IsProductLine(OcrResult.Line line) { var reversedOrder = line.Words.Reverse().ToList(); return(ContainsAmount(reversedOrder) && ContainsUnit(reversedOrder) && ContainsFinnishVatPercentage(reversedOrder) && ContainsPriceInformation(reversedOrder)); }
private static SalesInvoiceLine ToProductLine(OcrResult.Line line) { const int ToProductName = 5; var reversedOrder = line.Words.Reverse().ToList(); var productWords = reversedOrder.Skip(ToProductName).Reverse(); return(new SalesInvoiceLine( new(string.Join(" ", productWords)), int.Parse(reversedOrder[AmountIndex].Text), new(reversedOrder[UnitIndex].Text), ToDecimal(reversedOrder[ExcludingVatPriceIndex]), new(int.Parse(reversedOrder[VatIndex].Text)) )); }
internal static bool EndsWithCurrency(OcrResult.Line line) { return(line.Text.EndsWith(TotalSumEndingCurrency)); }
internal static bool IsInvoiceTotalLine(OcrResult.Line line) { return(line.Text.StartsWith(TotalLineStart)); }