Browse Source

Remove subscription repository class

pull/37/head
Nafies Luthfi 7 years ago
parent
commit
01ece0f550
  1. 52
      app/Entities/Subscriptions/SubscriptionsRepository.php
  2. 41
      app/Http/Controllers/SubscriptionsController.php

52
app/Entities/Subscriptions/SubscriptionsRepository.php

@ -1,52 +0,0 @@
<?php
namespace App\Entities\Subscriptions;
use App\Entities\BaseRepository;
/**
* Subscriptions Repository Class.
*/
class SubscriptionsRepository extends BaseRepository
{
/**
* Subscription model.
*
* @var \App\Entities\Subscriptions\Subscription
*/
protected $model;
/**
* Create SubscriptionRepository class instance.
*
* @param \App\Entities\Subscriptions\Subscription $model
*/
public function __construct(Subscription $model)
{
parent::__construct($model);
}
/**
* Get subscrioption list.
*
* @param string $q
* @param int $customerId
* @return \Illuminate\Pagination\LengthAwarePaginator
*/
public function getSubscriptions($q, $customerId)
{
return $this->model->orderBy('status_id', 'desc')
->orderBy('due_date')
->where(function ($query) use ($q, $customerId) {
if ($customerId) {
$query->where('customer_id', $customerId);
}
if ($q) {
$query->where('name', 'like', '%'.$q.'%');
}
})
->with('customer', 'vendor')
->paginate($this->_paginate);
}
}

41
app/Http/Controllers/SubscriptionsController.php

@ -5,7 +5,6 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Entities\Subscriptions\Type;
use App\Entities\Subscriptions\Subscription;
use App\Entities\Subscriptions\SubscriptionsRepository;
use App\Http\Requests\SubscriptionRequest as FormRequest;
/**
@ -16,21 +15,6 @@ use App\Http\Requests\SubscriptionRequest as FormRequest;
class SubscriptionsController extends Controller
{
/**
* @var \App\Entities\Subscriptions\SubscriptionsRepository
*/
private $repo;
/**
* Create new Subscription Controller.
*
* @param \App\Entities\Subscriptions\SubscriptionsRepository $repo
*/
public function __construct(SubscriptionsRepository $repo)
{
$this->repo = $repo;
}
/**
* Show subscription list.
*
* @param \Illuminate\Http\Request $request
@ -38,7 +22,7 @@ class SubscriptionsController extends Controller
*/
public function index(Request $request)
{
$subscriptions = $this->repo->getSubscriptions(
$subscriptions = $this->getSubscriptionListing(
$request->get('q'),
$request->get('vendor_id')
);
@ -156,4 +140,27 @@ class SubscriptionsController extends Controller
{
return trans('subscription.'.$pageType).' - '.$subscription->name.' - '.$subscription->customer->name;
}
/**
* Get subscrioption list.
*
* @param string $q
* @param int $customerId
* @return \Illuminate\Pagination\LengthAwarePaginator
*/
private function getSubscriptionListing($searchQuery, $customerId)
{
$subscriptionQuery = Subscription::orderBy('status_id', 'desc')
->orderBy('due_date')
->with('customer', 'vendor');
if ($searchQuery) {
$subscriptionQuery->where('name', 'like', '%'.$searchQuery.'%');
}
if ($customerId) {
$subscriptionQuery->where('customer_id', $customerId);
}
return $subscriptionQuery->paginate(25);
}
}
Loading…
Cancel
Save