File manager - Edit - /var/www/html/portalHomolog/app/Http/Services/TurisAngra/VisiteAngra/AtrativoService.php
Back
<?php namespace App\Http\Services\TurisAngra\VisiteAngra; use App\Http\Controllers\Controller; use App\Models\TurisAngra\VisiteAngra\Atrativo; use App\Models\TurisAngra\VisiteAngra\Ponto; use App\Models\TurisAngra\VisiteAngra\Corredor; use App\Models\TurisAngra\VisiteAngra\Categoria; use Illuminate\Database\Eloquent\Collection; use App\Http\Requests\TurisAngra\VisiteAngra\AtrativoRequest; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Http\RedirectResponse; class AtrativoService extends Controller { protected $Atrativo = Atrativo::class; protected $Ponto = Ponto::class; protected $Corredor = Corredor::class; protected $Categoria = Categoria::class; public function index(Request $request): LengthAwarePaginator { $paginate = 20; if ($request->filled('q')) { $request->validate([ 'q' => 'nullable|string|max:255', ]); return $this->Atrativo::select('atrativos.*') ->where(function ($query) use ($request) { $q = trim($request->q); $query->where('atrativos.atrativo', 'like', "%{$q}%") ->orWhere('atrativos.subtitulo', 'like', "%{$q}%") ->orWhere('atrativos.categorias', 'like', "%{$q}%") ->orWhere('atrativos.descricao', 'like', "%{$q}%"); }) ->orderBy('atrativos.atrativo', 'asc') ->orderBy('atrativos.subtitulo', 'asc') ->paginate($paginate); } return $this->Atrativo::orderBy('atrativos.atrativo', 'asc') ->orderBy('atrativos.atrativo', 'asc') ->paginate($paginate); } public function getPonto() : Collection { return $this->Ponto::where("status", "ATIVADO") ->orderBy("ponto")->get(); } public function getCorredores() : Collection { return $this->Corredor::where("status", "ATIVADO") ->orderBy("corredor")->get(); } public function getCategoriaWithTipo($tipo) : Collection { return $this->Categoria::where([ ["status", "ATIVADO"], ["tipo", $tipo], ])->orderBy("categoria")->get(); } public function store(AtrativoRequest $request, Array $array_atrativo): RedirectResponse { try { DB::beginTransaction(); Atrativo::create($array_atrativo); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/visite-angra/atrativos?page={$page}")->with("success", __("* O atrativo {$request->atrativo} foi cadastrado com sucesso!")); } catch (\Exception $e) { DB::rollBack(); return redirect() ->back() ->withInput() ->with('error', 'Erro tentar cadastrar este atrativo. ' . $e->getMessage()); } } public function update(AtrativoRequest $request, Atrativo $atrativo, Array $array_atrativo): RedirectResponse { try { DB::beginTransaction(); $atrativo->fill($array_atrativo); $atrativo->save(); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/visite-angra/atrativos?page={$page}")->with("success", __("* Atrativo atualizado com sucesso!")); } catch (\Exception $e) { DB::rollBack(); return redirect() ->back() ->withInput() ->with('error', 'Erro tentar atualizar este atrativo. ' . $e->getMessage()); } } public function destroy(Request $request, Atrativo $atrativo): RedirectResponse { try { DB::beginTransaction(); Atrativo::destroy($atrativo->id); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/visite-angra/atrativos?page={$page}")->with("success", __("* O atrativo foi excluído com sucesso! Esta ação não pode ser desfeita!")); } catch (\Exception $e) { DB::rollBack(); return redirect() ->back() ->withInput() ->with('error', 'Erro tentar excluir este atrativo. ' . $e->getMessage()); } } public function status(Request $request, Atrativo $atrativo): RedirectResponse { try { DB::beginTransaction(); $atrativo->fill(['status' => $request->checkStatus]); $atrativo->save(); DB::commit(); $page = $request->input('page', 1); return redirect("/admin/visite-angra/atrativos?page={$page}") ->with("success", __("* O status do atrativo foi atualizado com sucesso!")); } catch (\Exception $e) { DB::rollBack(); return redirect() ->back() ->withInput() ->with('error', 'Erro ao tentar alterar o status deste atrativo. ' . $e->getMessage()); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.03 |
proxy
|
phpinfo
|
Settings