File manager - Edit - /var/www/html/portal/app/Http/Services/MeioAmbiente/CastracaoAnimal/CastracaoAnimaisService.php
Back
<?php namespace App\Http\Services\MeioAmbiente\CastracaoAnimal; use App\Http\Controllers\Controller; use App\Models\User; use App\Models\Endereco; use App\Models\Permissao; use App\Models\MeioAmbiente\CastracaoAnimal\Animal; use App\Models\MeioAmbiente\CastracaoAnimal\Raca; use App\Models\MeioAmbiente\CastracaoAnimal\Tutor; use Illuminate\Support\Facades\Session; use Illuminate\Http\RedirectResponse; use Illuminate\Support\Facades\Auth; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Database\Eloquent\Collection; class CastracaoAnimaisService extends Controller { protected $Animal = Animal::class; protected $Raca = Raca::class; protected $Tutor = Tutor::class; public function getRacasAll(): Collection { return $this->Raca::orderBy('nome_raca') ->orderBy('especie') ->orderBy('is_braquicefalico')->get(); } public function index(Request $request, Tutor $tutor): LengthAwarePaginator { $paginate = 20; if ($request->filled('q')) { $request->validate([ 'q' => 'nullable|string|max:255', ]); $q = trim($request->q); return $tutor->animais()->where([ ['nome_animal', "like", "%{$q}%"], ]) ->orderBy('especie') ->orderBy('nome_animal') ->paginate($paginate); } return $tutor->animais() ->orderBy('especie') ->orderBy('nome_animal') ->paginate($paginate); } public function store(Tutor $tutor, Array $array_animal): RedirectResponse { DB::beginTransaction(); try { Animal::create($array_animal); DB::commit(); return redirect()->route('admin.meioAmbiente.castracaoAnimal.animais.index', $tutor->id) ->with('success', 'Animal cadastrado com sucesso!'); } catch (\Exception $e) { DB::rollBack(); return redirect()->route('admin.meioAmbiente.castracaoAnimal.animais.index', $tutor->id) ->withErrors(['error' => 'Erro ao cadastrar animal: ' . $e->getMessage()]); } } public function update(Tutor $tutor, Animal $animal, Array $array_animal): RedirectResponse { DB::beginTransaction(); try { $animal->fill($array_animal); $animal->save(); DB::commit(); return redirect() ->route('admin.meioAmbiente.castracaoAnimal.animais.index', $tutor->id) ->with('success', 'Animal atualizado com sucesso!'); } catch (\Exception $e) { DB::rollBack(); return redirect() ->route('admin.meioAmbiente.castracaoAnimal.animais.index', $tutor->id) ->withErrors(['error' => 'Erro ao atualizar animal: ' . $e->getMessage()]); } } public function destroy(Request $request, Tutor $tutor, Animal $animal): RedirectResponse { DB::beginTransaction(); try { Animal::destroy($animal->id); DB::commit(); return redirect()->route('admin.meioAmbiente.castracaoAnimal.animais.index', $tutor->id) ->with('success', "O animal {$animal->nome} foi excluĂdo com sucesso!"); } catch (\Exception $e) { DB::rollBack(); return redirect()->route('admin.meioAmbiente.castracaoAnimal.animais.index', $tutor->id) ->withErrors(['error' => 'Erro ao tentar excluir este animal: ' . $e->getMessage()]); } } public function status(Request $request, Tutor $tutor, Animal $animal): RedirectResponse { try { DB::beginTransaction(); $animal->fill([ 'status' => $request->checkStatus ]); $animal->save(); DB::commit(); return redirect()->route('admin.meioAmbiente.castracaoAnimal.animais.index', $tutor->id) ->with("success", __("* O status do animal {$animal->nome} foi alterado com sucesso!")); } catch (\Exception $e) { DB::rollBack(); return redirect()->route('admin.meioAmbiente.castracaoAnimal.animais.index', $tutor->id) ->withInput() ->with('error', 'Erro ao tentar alterar o status deste animal. ' . $e->getMessage()); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings