ldc-gen-game-web/app/Http/Controllers/bo/PrizesController.php

98 lines
3.4 KiB
PHP
Raw Normal View History

2020-10-21 15:26:21 +02:00
<?php
namespace App\Http\Controllers\bo;
use App\Http\Controllers\Controller;
use App\Models\GainView;
use App\Models\Prizes;
use Exception;
use Illuminate\Http\Request;
use Illuminate\Support\Str;
class PrizesController extends Controller
{
public function index() {
$prizes = Prizes::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];
2020-11-05 16:03:44 +01:00
if ($prize->id !== null) {
2020-10-21 15:26:21 +02:00
$p = Prizes::findOrFail($prize->id);
$p->arcadia_id = $prize->arcadia_id;
$p->label_one = $prize->label_one;
$p->label_many = $prize->label_many;
$p->quantity = $prize->quantity;
2021-02-23 18:27:03 +01:00
$p->arcadia_operation_code = $prize->arcadia_operation_code;
$p->arcadia_support_code = $prize->arcadia_support_code;
$p->need_proof = $prize->need_proof;
2020-10-21 15:26:21 +02:00
$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 Prizes();
$p->arcadia_id = $prize->arcadia_id;
$p->label_one = $prize->label_one;
$p->label_many = $prize->label_many;
$p->quantity = $prize->quantity;
2021-02-23 18:27:03 +01:00
$p->arcadia_operation_code = $prize->arcadia_operation_code;
$p->arcadia_support_code = $prize->arcadia_support_code;
$p->need_proof = $prize->need_proof;
2020-10-21 15:26:21 +02:00
$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();
2020-11-05 16:03:44 +01:00
$prizes[$i]->id = $p->id;
2020-10-21 15:26:21 +02:00
}
}
} catch (Exception $e) {
//
}
return $prizes;
}
public function destroy(Request $request)
{
$retour = "Suppression terminée !";
if ($request->id !== null) {
try {
$prize = Prizes::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;
}
}