Example #1
0
 public function transfer(Transfer $transfer)
 {
     if ($this->number->equals($transfer->getTargetAccountNumber())) {
         throw new \InvalidArgumentException('Trying to transfer to same account');
     }
     $this->record(new MoneyTransferRequestedEvent($this->number, $transfer));
 }
 public function __construct(AccountNumber $source, Transfer $transfer)
 {
     $this->source = (string) $source;
     $this->target = (string) $transfer->getTargetAccountNumber();
     $this->transaction = (string) $transfer->getTransaction();
     $this->amount = (int) $transfer->getAmount();
     $this->identifier = uniqid();
     $this->recordedOn = microtime(true);
 }