File: /var/www/api_matriculas/app/Repositories/PaymentConceptRepository.php
<?php
namespace App\Repositories;
use App\Models\Country;
use App\Models\PaymentConcept;
use Exception;
class PaymentConceptRepository
{
public function getAll($code = '', $getAll = false, $onlyActive = false)
{
$query = PaymentConcept::where('deleted', false)->orderby('id', 'asc');
if ($onlyActive) {
$query->where('status', true);
}
if ($getAll) {
return $query->get();
}
$register = $query->where('code', $code)->first();
if (!$register) {
throw new Exception("Concepto de pago no existe o fue eliminado", 404);
}
return $register;
}
public function getById($id)
{
$register = PaymentConcept::find($id);
if (!$register) {
throw new Exception("Concepto de pago no existe o fue eliminado", 404);
}
return $register;
}
public function getByName($country, $id = null)
{
$query = PaymentConcept::where('country', $country);
if ($id > 0) {
$query->where('id', '!=', $id);
}
$register = $query->first();
if (!$register) {
return false;
}
return $register;
}
public function create($data)
{
return PaymentConcept::create([
'payment_concept' => ($data->payment_concept),
'code' => strLower($data->code),
'currency_type_id' => ($data->currency_type),
'status' => $data->status == 0 ? false : true,
'course_required' => $data->course_required == 0 ? false : true,
'accept_quotas' => $data->accept_quotas == 0 ? false : true,
'created_at' => now(),
]);
}
public function update($register, $data)
{
$register->payment_concept = ($data->payment_concept);
$register->code = strLower($data->code);
$register->currency_type_id = ($data->currency_type);
$register->status = $data->status == 0 ? false : true;
$register->course_required = $data->course_required == 0 ? false : true;
$register->accept_quotas = $data->accept_quotas == 0 ? false : true;
$register->updated_at = now();
if ($register->save()) {
return true;
}
return false;
}
}