Anons79 Mini Shell

Directory : /home/aplikasiposinfo/public_html/artomoro.fixmate.id/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/public_html/artomoro.fixmate.id/app/Http/Controllers/GaransiController.php

<?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]