Merge pull request #1347 from SevanNerse/dev-jobs

CreateTransaction job is improved
This commit is contained in:
Denis Duliçi 2020-03-12 14:27:18 +03:00 committed by GitHub
commit dbee33dd18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 56 additions and 4 deletions

View File

@ -0,0 +1,22 @@
<?php
namespace App\Events\Banking;
use Illuminate\Queue\SerializesModels;
class TransactionCreated
{
use SerializesModels;
public $transaction;
/**
* Create a new event instance.
*
* @param $transaction
*/
public function __construct($transaction)
{
$this->transaction = $transaction;
}
}

View File

@ -0,0 +1,22 @@
<?php
namespace App\Events\Banking;
use Illuminate\Queue\SerializesModels;
class TransactionCreating
{
use SerializesModels;
public $request;
/**
* Create a new event instance.
*
* @param $request
*/
public function __construct($request)
{
$this->request = $request;
}
}

View File

@ -4,10 +4,14 @@ namespace App\Jobs\Banking;
use App\Abstracts\Job; use App\Abstracts\Job;
use App\Models\Banking\Transaction; use App\Models\Banking\Transaction;
use App\Events\Banking\TransactionCreated;
use App\Events\Banking\TransactionCreating;
class CreateTransaction extends Job class CreateTransaction extends Job
{ {
protected $request; protected $request;
protected $transaction;
/** /**
* Create a new job instance. * Create a new job instance.
@ -26,18 +30,22 @@ class CreateTransaction extends Job
*/ */
public function handle() public function handle()
{ {
$transaction = Transaction::create($this->request->all()); event(new TransactionCreating($this->request));
$this->transaction = Transaction::create($this->request->all());
// Upload attachment // Upload attachment
if ($this->request->file('attachment')) { if ($this->request->file('attachment')) {
$media = $this->getMedia($this->request->file('attachment'), 'transactions'); $media = $this->getMedia($this->request->file('attachment'), 'transactions');
$transaction->attachMedia($media, 'attachment'); $this->transaction->attachMedia($media, 'attachment');
} }
// Recurring // Recurring
$transaction->createRecurring(); $this->transaction->createRecurring();
return $transaction; event(new TransactionCreated($this->transaction));
return $this->transaction;
} }
} }