/** * @param DomBuilderInterface $domBuilder */ public function accept(DomBuilderInterface $domBuilder) { $this->validate(); $domBuilder->visitTransferFile($this); $this->groupHeader->accept($domBuilder); /** @var $paymentInformation PaymentInformation */ foreach ($this->paymentInformations as $paymentInformation) { $paymentInformation->accept($domBuilder); } }
/** * Add GroupHeader Information to the document * * @param GroupHeader $groupHeader * @return mixed */ public function visitGroupHeader(GroupHeader $groupHeader) { $groupHeaderTag = $this->doc->createElement('GrpHdr'); $messageId = $this->createElement('MsgId', $groupHeader->getMessageIdentification()); $groupHeaderTag->appendChild($messageId); $creationDateTime = $this->createElement('CreDtTm', $groupHeader->getCreationDateTime()->format($groupHeader->getCreationDateTimeFormat())); $groupHeaderTag->appendChild($creationDateTime); $groupHeaderTag->appendChild($this->createElement('NbOfTxs', $groupHeader->getNumberOfTransactions())); $groupHeaderTag->appendChild($this->createElement('CtrlSum', $this->intToCurrency($groupHeader->getControlSumCents()))); $initiatingParty = $this->createElement('InitgPty'); $initiatingPartyName = $this->createElement('Nm', $groupHeader->getInitiatingPartyName()); $initiatingParty->appendChild($initiatingPartyName); if ($groupHeader->getInitiatingPartyId() !== null) { $id = $this->createElement('Id', $groupHeader->getInitiatingPartyId()); $initiatingParty->appendChild($id); } $groupHeaderTag->appendChild($initiatingParty); $this->currentTransfer->appendChild($groupHeaderTag); }