Example #1
0
 public static function issueInvoice(Invoice\Id $id, Invoice\Seller $seller, Invoice\Buyer $buyer, int $maxItemNumbers = 3) : Invoice
 {
     $invoice = new Invoice($id);
     $invoiceIssued = new InvoiceIssued($id, $seller, $buyer, $maxItemNumbers);
     $invoice->events[] = $invoiceIssued;
     $invoice->applyInvoiceIssued($invoiceIssued);
     return $invoice;
 }
Example #2
0
 public function add(Invoice $invoice)
 {
     $this->eventStore->apply(new EventStream\Name(Invoice::class), $invoice->getRecordedEvents());
 }