/** * @param Message $message */ public function __construct(Message $message) { $appendIterator = new AppendIterator(); $statements = $message->getStatements(); foreach ($statements as $statement) { $appendIterator->append(new ArrayIterator($statement->getEntries())); } parent::__construct($appendIterator); }
/** * @param Message $message */ private function addStatementsToMessage(Message $message) { $statements = []; $statementsXml = $this->document->BkToCstmrStmt->Stmt; foreach ($statementsXml as $statementXml) { $statement = new Statement($statementXml->Id, new DateTimeImmutable((string) $statementXml->CreDtTm), new Account(new Iban((string) $statementXml->Acct->Id->IBAN))); $this->addBalancesToStatement($statementXml, $statement); $this->addEntriesToStatement($statementXml, $statement); $statements[] = $statement; } $message->setStatements($statements); }