<?php
namespace App\Http\Controllers;
use App\Helpers\Helper;
use App\Models\DetailGaransi;
use App\Models\Garansi;
use App\Models\Item;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Log;
class GaransiController extends Controller
{
/**
* Display a listing of the resource.
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*/
public function show(Garansi $garansi)
{
//
}
/**
* Show the form for editing the specified resource.
*/
public function edit(Garansi $garansi)
{
$tokos = auth()->user()->role->tokos;
return view('garansi.edit',['data'=>$garansi,'tokos'=>$tokos]);
}
/**
* Update the specified resource in storage.
*/
public function update(Request $request, Garansi $garansi)
{
DB::beginTransaction();
try {
$garansi->update([
'tanggal_garansi'=>$request->tanggal_garansi,
"keterangan_garansi" => $request->keterangan_garansi,
]);
if (isset($request->jumlah)) {
for ($i = 0; $i < count($request->jumlah); $i++) {
$item = Item::find($request->id[$i]);
if (isset($item)) {
DetailGaransi::updateOrCreate([
"garansi_id" => $garansi->id,
"item_id" => $request->id[$i],
],[
"nama_item" => $item->nama_item,
"harga_item" => $item->harga_item,
"qty" => $request->jumlah[$i],
]);
} else {
DB::rollback();
return redirect()->back()->with('error', 'terdapat barang yang tidak tercatat di data master barang!');
}
}
}
Helper::addUserLog("Mengubah garansi : ".$garansi->no_garansi,$garansi->toArray());
DB::commit();
return redirect()->route('retur-dan-garansi.index')->with('success','Berhasil Mengubah garansi')->withInput($request->all());
} catch (\Throwable $th) {
DB::rollBack();
Log::error($th);
return redirect()->back()->with('error','Gagal Mengubah garansi')->withInput($request->all());
}
}
/**
* Remove the specified resource from storage.
*/
public function destroy(Garansi $garansi)
{
DB::beginTransaction();
try {
$garansi->detail_garansi()->delete();
$garansi->delete();
Helper::addUserLog("Menghapus garansi : ".$garansi->no_garansi,$garansi->toArray());
DB::commit();
return redirect()->route('retur-dan-garansi.index')->with('success','Berhasil menghapus garansi');
} catch (\Throwable $th) {
//throw $th;
DB::rollBack();
Log::error($th);
return redirect()->back()->with('error','Gagal menghapus garansi');
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]