Anons79 Mini Shell

Directory : /home/aplikasiposinfo/.trash/app.2/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/.trash/app.2/Http/Controllers/PembayaranPemasanganController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Models\PembayaranPemasangan;
use App\Models\TagihanPemasangan;

use Yajra\DataTables\Facades\DataTables;
use Carbon\Carbon;

class PembayaranPemasanganController extends Controller
{
    protected $routeName = 'pembayaran_pemasangan';
    protected $viewName = 'pembayaran_pemasangan';
    protected $title = 'Pembayaran Pemasangan';

    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $route = $this->routeName;
        $title = $this->title;
        return view($this->viewName.'.index',compact('route','title'));
    }

    public function datatable()
    {
        $datas = PembayaranPemasangan::join('tagihan_pemasangans','tagihan_pemasangans.id','=','pembayaran_pemasangans.tagihan_pemasangan_id')->join('pelanggans','pelanggans.id','=','tagihan_pemasangans.pelanggan_id')->select('pembayaran_pemasangans.id','pembayaran_pemasangans.id_pembayaran_pemasangan','pembayaran_pemasangans.created_at','pelanggans.id_pelanggan','pelanggans.name','pembayaran_pemasangans.jumlah_pembayaran');

        $datatables = DataTables::of($datas)
            ->addIndexColumn()
            ->editColumn('jumlah_pembayaran',function($data){
                $jumlah = $data->jumlah_pembayaran;
                return "Rp. ".number_format($jumlah);
            })
            ->editColumn('created_at',function($data){
                return $data->created_at->format('d F Y');
            })
            ->addColumn('action', function ($data) {
                $route = 'pembayaran_pemasangan';
                return view('layouts.includes.table-action-nota',compact('data','route'));
            });

        return $datatables->make(true);
    }
    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create(Request $request)
    {
        $route = $this->routeName;
        $title = $this->title;

        $tagihan_pemasangans = TagihanPemasangan::all();

        return view($this->viewName.'.create',compact('route','title','tagihan_pemasangans','request'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $validator = $request->validate([
            'id_tagihan_pemasangan' => 'required|string|max:100',
            'jumlah_pembayaran' => 'required|numeric|digits_between:1,11'
        ]);

        $datas = TagihanPemasangan::find($request->id_tagihan_pemasangan);
        try{
            $number = rand(0,1000);
            $txt = date("Ymdhis").''.$number;
            
            $id = $txt.$number;
            $query = PembayaranPemasangan::create([
                'id_pembayaran_pemasangan' => $txt,
                'tagihan_pemasangan_id' => $datas->id,
                'jumlah_pembayaran' => $request->jumlah_pembayaran,
            ]);

            return redirect(route($this->routeName.'.index'))->with(['success'=>'Berhasil Menambah Data Pembayaran : '.$query->id_pembayaran_pemasangan]);
        } catch (\Exception $e){
            return redirect()->back()->with(['error'=>'Gagal Menambah Data Pembayaran : '.$e->getMessage()])->withErrors($request->all());   
        }     
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        $datas = PembayaranPemasangan::findOrFail($id);

        $tagihan_pemasangans = TagihanPemasangan::all();

        $route = $this->routeName;
        return view($this->viewName.'.edit', compact('datas','route','title','id','tagihan_pemasangans'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        $validator = $request->validate([
            'id_tagihan_pemasangan' => 'required|string|max:100',
            'jumlah_pembayaran' => 'required|numeric|digits_between:1,11'
        ]);

        $datas = TagihanPemasangan::find($request->id_tagihan_pemasangan);

        try{

            $query = PembayaranPemasangan::find($id);

            $query->update([
                'tagihan_pemasangan_id' => $datas->id,
                'jumlah_pembayaran' => $request->jumlah_pembayaran,
            ]);

            return redirect(route($this->routeName.'.index'))->with(['success'=>'Berhasil Mengubah Data Pembayaran : '.$query->id_pembayaran_pemasangan]);
        } catch (\Exception $e){
            return redirect()->back()->with(['error'=>'Gagal Mengubah Data Pembayaran : '.$e->getMessage()])->withErrors($request->all());   
        }  


    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        try{
            $query = PembayaranPemasangan::findOrFail($id);
            $query->delete();

            return redirect(route($this->routeName.'.index'))->with(['success'=>'Berhasil Menghapus Data Pembayaran Pemasangan : '.$query->id_pembayaran_pemasangan]);
        }catch (\Exception $e){
            return redirect()->back()->with(['error'=>'Gagal Menghapus Data Pembayaran Pemasangan : '.$e->getMessage()])->withErrors($request->all());
        }
    }

    public function nota($id)
    {
        $datas = PembayaranPemasangan::findOrFail($id);
        return view('pembayaran_pemasangan.nota', compact('datas'));
    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]