protected function createTransactionFromRow($row, Administration $administration) { $transaction = new Transaction(); $transaction->setAdministration($administration); $bankAccount = $this->bankAccountManager->findBankAccount($row[1], $administration); if (!$bankAccount || $row[1] != $bankAccount->getIban()) { throw new InvalidBankAccountException(); } $transaction->setBankAccount($bankAccount); if ($row[9] != 'EUR') { throw new InvalidCurrencyException(); } $transaction->setDate(new \DateTime($row[0])); //boekdatum $amount = (double) $row[10]; $transaction->setAmount($amount); $transaction->setIban($row[2]); $transaction->setName($row[3]); $description = $row[16] . "\r\n" . $row[17]; $description = trim($description); $transaction->setDescription($description); if (empty($transaction->getName())) { $transaction->setName(strtok($description, "\r\n")); } $transaction->setSourceData(json_encode($row)); $transaction->setSourceId(md5($row[11] . $row[15])); return $transaction; }
/** * Checks whether this condition is true for the given transaction * * @param Transaction $transaction * @param RuleCondition $condition * @return bool */ public function checkCondition(Transaction $transaction, RuleCondition $condition) { $params = $this->getParams($condition); if (stripos(trim($transaction->getName()), $params['name']) !== false) { return true; } return false; }
/** * Checks whether this condition is true for the given transaction * * @param Transaction $transaction * @param RuleCondition $condition * @return bool */ public function checkCondition(Transaction $transaction, RuleCondition $condition) { $params = $this->getParams($condition); $result = strcasecmp($params['name'], $transaction->getName()); if ($result === 0) { return true; } return false; }