bool BankTemplate::matches(String deb_cred, String name, String descr)
{
- std::cout << name << " == " << _nm << "\n" << descr << " == " << _dm << "\n";
+ //std::cout << name << " == " << _nm << "\n" << descr << " == " << _dm << "\n";
return (deb_cred == "C") == Credit && name == name_match && descr == description_match;
}
break;
case 'D':
- text(sub_start, sub_len) = date(6,2) + String("-") + date(4,2) + String("-") + date(0,4);
+ //text(sub_start, sub_len) = date;
+ text(sub_start, sub_len) = date(8,2) + String("-") + date(5,2) + String("-") + date(0,4);
break;
default:
// Fields in the bank record.
-const int DEBIT_CREDIT = 3;
-const int AMOUNT = 4;
-const int NAME = 6;
-const int BOOKING_DATE = 7;
-const int DESCRIP1 = 10;
-const int DESCRIP2 = 11;
-const int DESCRIP3 = 12;
+const int DEBIT_CREDIT = 2;
+const int AMOUNT = 6;
+const int NAME = 9;
+const int BOOKING_DATE = 4;
+const int DESCRIP1 = 19;
+const int DESCRIP2 = 20;
+const int DESCRIP3 = 21;
const int DESCRIP4 = 13;
const int DESCRIP5 = 14;
const int DESCRIP6 = 15;
break;
case 'V':
- std::cout << "bank version 1.1\n";
+ std::cout << "bank version 1.3\n";
exit(0);
break;
line += ",\"\"";
bank_record = parse_csv(line, ',');
+ // A + amount is Credit, a - amount is Debit
+
+ bank_record[DEBIT_CREDIT] = "C";
+ if (bank_record[AMOUNT][0] == '-')
+ {
+ bank_record[DEBIT_CREDIT] = "D";
+ }
+ bank_record[AMOUNT] <<= 1;
+
description = bank_record[DESCRIP1];
- for (i = DESCRIP2; i <= DESCRIP6; i++)
+ for (i = DESCRIP2; i <= DESCRIP3; i++)
{
description += " " + bank_record[i];
}