%PDF- %PDF-
Direktori : /var/www/html/o91-api/app/Http/Controllers/Api/v1/ |
Current File : /var/www/html/o91-api/app/Http/Controllers/Api/v1/ContactController.php |
<?php namespace App\Http\Controllers\Api\v1; use App\Exports\ContactApplicationsExport; use App\Http\Controllers\Api\ApiController; use App\Http\Requests\Api\v1\ContactApplication\ContactApplicationRequest; use App\Mail\ContactCreated; use App\Mail\ThankYou; use App\Models\ContactApplication; use App\Transformers\ContactApplicationTransformer; use Carbon\Carbon; use Illuminate\Http\Request; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Support\Facades\Mail; class ContactController extends ApiController { /** * @param Request $request * @return ContactController */ public function index(Request $request) { /** @var LengthAwarePaginator $result */ $result = $this->filterContacts($request) ->paginate($request->get('perPage')); return $this->withPaginated($result, new ContactApplicationTransformer()); } /** * @param $id * @return \Illuminate\Http\JsonResponse */ public function show($id) { $user = ContactApplication::query() ->find($id); return $this->item($user, new ContactApplicationTransformer()); } /** * @param Request $request * @return \Illuminate\Http\Response|\Symfony\Component\HttpFoundation\BinaryFileResponse */ public function exportExcel(Request $request) { return (new ContactApplicationsExport($this->filterContacts($request)))->download("contact_applications.xlsx"); } /** * @param Request $request * @return \Illuminate\Database\Eloquent\Builder */ private function filterContacts(Request $request) { $result = ContactApplication::query(); if ($name = $request->get('name')) { $result = $result->where('name', 'like', "$name%"); } if ($vorname = $request->get('vorname')) { $result = $result->where('vorname', 'like', "$vorname%"); } if ($email = $request->get('email')) { $result = $result->where('mail', 'like', "$email%"); } return $result; } /** * @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response */ public function sendMail() { return response([], 200); } /** * @param ContactApplicationRequest $request */ public function register(ContactApplicationRequest $request) { $app = ContactApplication::query() ->create([ 'name' => $request->get('name'), 'anrede' => $request->get('anrede'), 'vorname' => $request->get('vorname'), 'nachname' => $request->get('nachname'), 'strabe' => $request->get('strabe'), 'hausnummer' => $request->get('hausnummer'), 'plz' => $request->get('plz'), 'ort' => $request->get('ort'), 'bundesland' => $request->get('bundesland'), 'unternehmen' => $request->get('unternehmen'), 'telephon' => $request->get('telephon'), 'mail' => $request->get('mail'), 'binein' => $request->get('binein'), 'anzahl' => $request->get('anzahl'), 'folgender' => $request->get('folgender'), 'kapital' => $request->get('kapital') ]); Mail::to('andi.xhafa24@yahoo.com') ->later(Carbon::now() ->addSeconds(15), new ContactCreated($app)); Mail::to($app->mail) ->later(Carbon::now() ->addSeconds(15), new ThankYou($app, 'BBW Fördermittel', 'Email Bestätigung')); } }