input('deleted'); $orderBy = $request->input('sortBy','nombre'); $order = $request->input('order','asc'); $queryBuilder = Sucursal::orderBy($orderBy,$order); if($query = $request->get('query',false)){ $queryBuilder->where(function($q) use ($query){ $q->where('nombre','like','%' .$query.'%'); }); } if($deleted) { $queryBuilder->onlyTrashed(); } if($perPage = $request->input('perPage',false)){ $sucursal = $queryBuilder->paginate($perPage); }else{ $sucursal = ['data'=>$queryBuilder->get()]; } return response()->success($sucursal); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(SucursalesRequest $request) { $data = $request->all(); try { $sucursal = Sucursal::create($data); return response()->success($sucursal); } catch (\Exception $e) { return response()->unprocessable('Error', ['Error al guardar la sucursal.']); } } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function show($id) { $sucursal = Sucursal::where('id', $id) ->withTrashed() ->firstOrFail(); return response()->success($sucursal); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(SucursalesRequest $request, $id) { $data = $request->all(); try { $sucursal = Sucursal::where('id',$id) ->withTrashed() ->firstOrFail(); $sucursal->update($data); return response()->success($sucursal); } catch (\Exception $e) { return response()->unprocessable('Error', ['Error al actualizar la sucursal.']); } } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id, Request $request) { $deleted = $request->input('deleted'); if($deleted){ $sucursal = Sucursal::where('id',$id) ->onlyTrashed() ->first(); $sucursal->restore(); }else{ $sucursal = Sucursal::findOrFail($id); $sucursal->delete(); VehiculoSucursal::where('sucursal_id', $id)->delete(); } return response()->success(['result' => 'ok']); } }