71 lines
1.8 KiB
PHP
71 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use Illuminate\Http\Request;
|
|
use App\Http\Requests\ActivitiesParticipantRequest;
|
|
use App\Models\ActivitiesParticipant;
|
|
use Illuminate\Support\Facades\DB;
|
|
use Carbon\Carbon;
|
|
|
|
|
|
class ActivitiesParticipantController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
return view('activitiesParticipant');
|
|
}
|
|
|
|
public function info()
|
|
{
|
|
return view('activitiesParticipantInfo');
|
|
}
|
|
|
|
public function play()
|
|
{
|
|
return view('activitiesParticipantPlay');
|
|
}
|
|
|
|
public function playFillForm()
|
|
{
|
|
return view('activitiesParticipantPlayFillForm');
|
|
}
|
|
|
|
public function playFillFormPost(ActivitiesParticipantRequest $request)
|
|
{
|
|
try
|
|
{
|
|
throw new \Exception('活動抽獎登記已載止。');
|
|
|
|
DB::beginTransaction();
|
|
$item = (new ActivitiesParticipant())->where('id_number','=', $request->input('id_number'));
|
|
$item = $item->first();
|
|
if ($item)
|
|
{
|
|
throw new \Exception('您已經登記過囉~');
|
|
}
|
|
|
|
ActivitiesParticipant::insert([
|
|
'email' => $request->input('email'),
|
|
'name' => $request->input('name'),
|
|
'phone' => $request->input('phone'),
|
|
'id_number' => $request->input('id_number'),
|
|
'created_at' => Carbon::now(),
|
|
]);
|
|
DB::commit();
|
|
|
|
}
|
|
catch (\Exception $ex)
|
|
{
|
|
DB::rollBack();
|
|
return redirect()->back()->withErrors([$ex->getMessage()])->withInput(Request()->all());
|
|
}
|
|
return redirect()->back()->with('success', '登記成功!');
|
|
}
|
|
|
|
public function winners()
|
|
{
|
|
return view('activitiesParticipantWinners');
|
|
}
|
|
}
|