<?php namespace App\Http\Controllers; use App\User; use App\Barang; use App\Pembelian; use App\RequestBarang; use App\DataRequest; use App\Http\Requests; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Input; class CustomerController extends Controller { public function BeliBarang() { $barangs = Barang::all(); return view('adminlte::customer.BeliBarang.index', compact('barangs')); } public function createPembelian($id) { $barangs = Barang::where('id', $id)->first(); return view('adminlte::customer.BeliBarang.createPembelian')->with('barangs', $barangs); } public function list(){ // $barangs = Barang::all(); $key = Input::get('search'); if(isset($key)){ $this->data['barang'] = Barang::where('nama_barang','like','%'.$key.'%')->orderBy('id','desc')->paginate(10); }else{ $this->data['barang'] = Barang::orderBy('id','desc')->paginate(10); } $this->data['total'] = DB::table('barangs')->get(); return view('adminlte::customer.BeliBarang.index',$this->data); } public function savePembelian(Request $request) { $pembelians = new Pembelian(); $pembelians->user_id = $request->user_id; $pembelians->barang_id = $request->barang_id; $pembelians->username = $request->username; $pembelians->nama_barang = $request->nama_barang; $pembelians->kategori = $request->kategori; $pembelians->harga =$request->harga; $pembelians->jumlah = $request->jumlah; $harga = $request->harga; $jumlah = $request->jumlah; $total_harga = $harga * $jumlah; $pembelians->total_harga = $total_harga; $pembelians->status_pengantaran = $request->status_pengantaran; $user = User::find($request->user_id); if($user->saldo >= $total_harga ){ $user->saldo=$user->saldo-$total_harga; }else{ $user->saldo=$user->saldo; return redirect('BeliBarang')->with('message','Saldo Anda Tidak Mencukupi'); } $barang= Barang::find($request->barang_id); if($barang->stock >= $jumlah){ $barang->stock= $barang->stock-$pembelians->jumlah; }else{ $barang->stock= $barang->stock; return redirect('BeliBarang')->with('message','Stock Barang Tidak Mencukupi'); } $user->update(); $barang->update(); $pembelians->save(); return redirect('BeliBarang')->with('message','Pembelian Berhasil Dilakukan'); } public function create() { return view('adminlte::inventori.BeliBarang.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('BeliBarang'); } public function RequestBarang() { $data_requests = DataRequest::all(); return view('adminlte::customer.RequestBarang.index', compact('data_requests')); } public function createRequest($id) { $data_requests = DataRequest::where('id', $id)->first(); return view('adminlte::customer.RequestBarang.createRequest')->with('data_requests', $data_requests); } public function saveRequest(Request $request) { $request_barangs = new RequestBarang(); $request_barangs->user_id = $request->user_id; $request_barangs->id_data_request = $request->id_data_request; $request_barangs->username = $request->username; $request_barangs->nama_barang = $request->nama_barang; $request_barangs->kategori = $request->kategori; $request_barangs->harga =$request->harga; $request_barangs->jumlah = $request->jumlah; $harga = $request->harga; $jumlah = $request->jumlah; $total_harga = $harga * $jumlah; $request_barangs->total_harga = $total_harga; $request_barangs->status_request = $request->status_request; $request_barangs->status_pengantaran = $request->status_pengantaran; $request_barangs->save(); return redirect('RequestBarang'); } public function CheckSaldo() { $users = User::all(); return view('adminlte::customer.CheckSaldo.index'); } public function HistoryRequest() { $request_barangs = RequestBarang::all(); return view('adminlte::customer.HistoryRequest.index', compact('request_barangs')); } public function HistoryPembelian() { $pembelians = Pembelian::all(); return view('adminlte::customer.HistoryPembelian.index', compact('pembelians')); } public function cariBarang(){ // $barangs = Barang::all(); // $barang = DB::table('barangs'); $key = Input::get('search'); if(isset($key)){ $this->data['barangs'] = Barang::where('nama_barang','like','%'.$key.'%')->orderBy('id','desc')->paginate(10); }else{ $this->data['barangs'] = Barang::orderBy('id','desc')->paginate(10); } return view('adminlte::customer.BeliBarang.index',$this->data); } }