Slide 27
Slide 27 text
&# &$% #
public function pay(Order $order, Money $money)!
{!
$status = $order->pay($money);!
$this->recordThat(new OrderPaid($this->id, $order->getId(), $money));!
if ($status === OrderStatus::ORDER_FAILED) {!
$this->recordThat(new OrderFailed($order->getId(), $this->id));!
}!
if ($status === OrderStatus::ORDER_PAID) {!
$this->recordThat(!
new OrderPaid($order->getId(), $this->id, $money)!
);!
}!
return $status;!
}