Beispiel #1
0
        private static bool IsProductLine(OcrResult.Line line)
        {
            var reversedOrder = line.Words.Reverse().ToList();

            return(ContainsAmount(reversedOrder) &&
                   ContainsUnit(reversedOrder) &&
                   ContainsFinnishVatPercentage(reversedOrder) &&
                   ContainsPriceInformation(reversedOrder));
        }
Beispiel #2
0
        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))
                       ));
        }
Beispiel #3
0
 internal static bool EndsWithCurrency(OcrResult.Line line)
 {
     return(line.Text.EndsWith(TotalSumEndingCurrency));
 }
Beispiel #4
0
 internal static bool IsInvoiceTotalLine(OcrResult.Line line)
 {
     return(line.Text.StartsWith(TotalLineStart));
 }