public function notify(Event $event) { if (!$event instanceof InvoiceIssued) { return; } $seller = $event->getSeller(); $readModel = $this->loadReadModel(); if (!isset($readModel[(string) $seller->getTaxIdNumber()])) { $readModel[(string) $seller->getTaxIdNumber()] = $this->initializeReadModelFor($seller); } $readModel[(string) $seller->getTaxIdNumber()]['issuedInvoices']++; file_put_contents($this->jsonReportPath, json_encode($readModel)); }