/**
  * createVoucher function.
  *
  * @access public
  *
  * @param string $campaignUrn
  *
  * @return Voucher
  */
 public function createVoucher($campaignUrn)
 {
     // Check for valid campaign
     if ($campaign = $this->campaignRepo->loadCampaign($campaignUrn)) {
         $voucher = $this->model->create(['campaign_id' => $campaign->id, 'hash' => Uuid::uuid1()->toString()]);
         return $voucher;
     }
     return false;
 }
 /**
  * createCampaign function.
  *
  * @access public
  *
  * @param array $data
  *
  * @return Campaign
  */
 public function createCampaign($data)
 {
     $urn = $data['urn'];
     // Check campaign already exists
     if (!$this->repo->loadCampaign($urn) && $urn != '') {
         $campaign = $this->model->create($data);
         return $campaign;
     }
     return false;
 }