<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

use App\Barang;

use App\RequestBarang;

use App\DataRequest;


class InventoriController extends Controller
{
 	public function ListBarang()
    {
    	$barangs = Barang::all();
    	return view('adminlte::inventori.ListBarang.index', compact('barangs'));
    }
  	
    public function create()
    {
        return view('adminlte::inventori.ListBarang.create');
    }
   
    public function store(Request $request)
    {
        $this->validate($request, [
            'nama' => 'required',
            'jumlah' => 'required',
            'harga' => 'required',
            'deskripsi' => 'required',
            'kategori' => 'required',
            'gambar' => 'required',
        ]);

        $barangs = new Barang();
        $barangs->nama = $request['nama'];
        $barangs->jumlah = $request['jumlah'];
        $barangs->harga = $request['harga'];
        $barangs->deskripsi = $request['deskripsi'];
        $barangs->kategori = $request['kategori'];
        $barangs->gambar = $request['gambar'];
        $barangs->save();
        return redirect('ListBarang');
    }


    public function edit($id)
    {
        $barangs = Barang::where('id', $id)->first();
        return view('adminlte::inventori.ListBarang.edit')->with('barangs', $barangs);
    }


    public function update(Request $request, $id)
    {
        $this->validate($request, [
            'nama' => 'required',
            'jumlah' => 'required',
            'harga' => 'required',
            'deskripsi' => 'required',
            'kategori' => 'required',
            'gambar' => 'required',
        ]);

        $barangs = Barang::findOrFail($id);
        $barangs->nama = $request->nama;
        $barangs->jumlah = $request->jumlah;
        $barangs->harga = $request->harga;
        $barangs->deskripsi = $request->deskripsi;
        $barangs->kategori = $request->kategori;
        $barangs->gambar = $request->gambar;
        $barangs->save();
        return redirect('ListBarang');
    }



    public function destroy($id)
    {
        $barangs = Barang::find($id);
        $barangs->delete();
        return redirect('ListBarang');
    }



//----------------------------List Request----------------------//

  	public function ListRequest()
    {
        $request_barangs = RequestBarang::all();
        return view('adminlte::inventori.ListRequest.index', compact('request_barangs'));
    }


    public function editRequest($id)
    {
        $request_barangs = RequestBarang::where('id', $id)->first();
        return view('adminlte::inventori.ListRequest.edit')->with('request_barangs', $request_barangs);
    }



//----------------------------Data Request----------------------//

    public function DataRequest()
    {
        $data_requests = DataRequest::all();
        return view('adminlte::inventori.DataRequest.index', compact('data_requests'));
    }

    public function createDataRequest()
    {
        return view('adminlte::inventori.DataRequest.createDataRequest');
    }
   
    public function storeDataRequest(Request $request)
    {
        $this->validate($request, [
            'nama_barang' => 'required',
            'kategori' => 'required',
            'harga' => 'required',
        ]);

        $data_requests = new DataRequest();
        $data_requests->nama_barang = $request['nama_barang'];
        $data_requests->kategori = $request['kategori'];
        $data_requests->harga = $request['harga'];
        $data_requests->save();
        return redirect('DataRequest');
    }


    public function editDataRequest($id)
    {
        $data_requests = DataRequest::where('id', $id)->first();
        return view('adminlte::inventori.DataRequest.editDataRequest')->with('data_requests', $data_requests);
    }


    public function updateDataRequest(Request $request, $id)
    {
        $this->validate($request, [
            'nama_barang' => 'required',
            'kategori' => 'required',
            'harga' => 'required',
        ]);

        $data_requests = DataRequest::findOrFail($id);
        $data_requests->nama_barang = $request->nama_barang;
        $data_requests->kategori = $request->kategori;
        $data_requests->harga = $request->harga;
        $data_requests->save();
        return redirect('DataRequest');
    }



    public function destroyDataRequest($id)
    {
        $data_requests = DataRequest::find($id);
        $data_requests->delete();
        return redirect('DataRequest');
    }
}