82 lines
1.8 KiB
PHP
82 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Services\Ambulatorio;
|
|
|
|
use App\Models\Ambulatorio\JornadaSituacao;
|
|
use App\Services\Service;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Illuminate\Validation\Rule;
|
|
|
|
class JornadaSituacaoService extends Service
|
|
{
|
|
public static function datatable()
|
|
{
|
|
return DB::table('ambulatorio_jornada_situacao as situacao')
|
|
->select(DB::raw("
|
|
situacao.id,
|
|
situacao.nome
|
|
"));
|
|
}
|
|
|
|
public static function create()
|
|
{
|
|
return [
|
|
'model' => [
|
|
'id' => null,
|
|
'nome' => null,
|
|
]
|
|
];
|
|
}
|
|
|
|
public static function edit($id)
|
|
{
|
|
$situacao = JornadaSituacao::findOrFail($id);
|
|
|
|
return [
|
|
'model' => [
|
|
'id' => $situacao->id,
|
|
'nome' => $situacao->nome,
|
|
],
|
|
];
|
|
}
|
|
|
|
public static function store()
|
|
{
|
|
self::validate();
|
|
|
|
return JornadaSituacao::create(request()->all())->fresh();
|
|
}
|
|
|
|
public static function update($id)
|
|
{
|
|
self::validate();
|
|
|
|
return (tap(JornadaSituacao::findOrFail($id))->update(request()->all()))->fresh();
|
|
}
|
|
|
|
public static function validate()
|
|
{
|
|
$rules = [
|
|
'nome' => [
|
|
'string',
|
|
'required',
|
|
'between:3,100',
|
|
Rule::unique(JornadaSituacao::class, 'nome')->ignore(request()->route('jornada_situacao')),
|
|
]
|
|
];
|
|
|
|
$messages = [
|
|
'nome.unique' => 'O nome da Situação já foi inserido anteriormente.',
|
|
];
|
|
|
|
request()->validate($rules, $messages);
|
|
}
|
|
|
|
public static function destroy($id)
|
|
{
|
|
JornadaSituacao::findOrFail($id)->delete();
|
|
|
|
return null;
|
|
}
|
|
}
|