ldc-gen-game-web/app/Http/Controllers/Bo/PrizesController.php
2022-08-10 12:14:48 +02:00

107 lines
4.1 KiB
PHP

<?php
namespace App\Http\Controllers\Bo;
use App\Http\Controllers\Controller;
use App\Models\GainView;
use App\Models\Prize;
use Exception;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
class PrizesController extends Controller
{
public function index()
{
$prizes = Prize::all();
$gainViews = GainView::all();
return view('bo.prizes.index', compact('prizes', 'gainViews'));
}
public function saveDatas(Request $request)
{
$prizes = json_decode($request->prizes);
$pdfs = $request->file('pdf');
try {
$request->validate([
'pdf_winning_proof.*' => 'file|mimes:pdf|size:20480',
]);
for ($i = 0; $i < count($prizes); $i++) {
$prize = $prizes[$i];
if ($prize->id !== null) {
$p = Prize::findOrFail($prize->id);
$p->arcadia_id = $prize->arcadia_id;
$p->label_one = $prize->label_one;
$p->label_many = $prize->label_many;
$p->arg_title = $prize->arg_title;
$p->arg_subtitle = $prize->arg_subtitle;
$p->arg_content = $prize->arg_content;
$p->quantity = $prize->quantity;
$p->arcadia_operation_code = $prize->arcadia_operation_code;
$p->arcadia_support_code = $prize->arcadia_support_code;
$p->need_proof = $prize->need_proof;
$p->gain_view_id = $prize->gain_view_id;
if (isset($pdfs[$i])) {
$fileName = Str::slug($prize->label_one) . '-' .
date('d-m-Y') . '.' . $pdfs[$i]->extension();
$p->pdf_winning_proof = $fileName;
$pdfs[$i]->move(public_path('fichiers/pdf/'), $fileName);
$prizes[$i]->pdf_winning_proof = $fileName;
}
$p->save();
} else {
$p = new Prize();
$p->arcadia_id = $prize->arcadia_id;
$p->label_one = $prize->label_one;
$p->label_many = $prize->label_many;
$p->arg_title = $prize->arg_title;
$p->arg_subtitle = $prize->arg_subtitle;
$p->arg_content = $prize->arg_content;
$p->quantity = $prize->quantity;
$p->arcadia_operation_code = $prize->arcadia_operation_code;
$p->arcadia_support_code = $prize->arcadia_support_code;
$p->need_proof = $prize->need_proof;
$p->gain_view_id = $prize->gain_view_id;
if (isset($pdfs[$i])) {
$fileName = Str::slug($prize->label_one) . '-' .
date('d-m-Y') . '.' . $pdfs[$i]->extension();
$p->pdf_winning_proof = $fileName;
$pdfs[$i]->move(public_path('fichiers/pdf/'), $fileName);
$prizes[$i]->pdf_winning_proof = $fileName;
}
$p->save();
$prizes[$i]->id = $p->id;
} //end if
}//end for
} catch (Exception $e) {
//
}//end try
return $prizes;
}
public function destroy(Request $request)
{
$retour = "Suppression terminée !";
if ($request->id !== null) {
try {
$prize = Prize::findOrFail($request->id);
$prize->delete();
} catch (Exception $e) {
$retour = "Erreur lors de la suppression : " . $e->getMessage();
}
} else {
$retour = "Erreur lors de la suppression : Aucun ID envoyé.";
}
return $retour;
}
}