/** * Proses order buku dari member. * * @return Response */ public function order($id) { if (Auth::user()->name) { $stock = Book::find($id)->stock; if ($stock > 0) { $user_id = Auth::user()->id; $checkBorrowCount = BookUser::whereUser_idAndStatus($user_id, 'pinjam')->count(); $checkOrderCount = BookUser::whereUser_idAndStatus($user_id, 'pesan')->count(); $checkCount = $checkBorrowCount + $checkOrderCount; if ($checkCount < 5) { $checkBorrow = BookUser::whereUser_idAndBook_idAndStatus($user_id, $id, 'pinjam')->count(); $checkOrder = BookUser::whereUser_idAndBook_idAndStatus($user_id, $id, 'pesan')->count(); if ($checkBorrow < 1 && $checkOrder < 1) { $book = Book::find($id); $book->stock -= 1; $book->save(); $data = new BookUser(); $data->user_id = $user_id; $data->book_id = $id; $data->status = 'pesan'; $data->save(); return redirect('/')->with('message', 'Berhasil memesan buku ' . $book->title); } else { return redirect('/')->withErrors('Hanya bisa memesan/meminjam 1 buku dengan judul yang sama.'); } } else { return redirect('/')->withErrors('Hanya bisa memesan/meminjam 5 buku'); } } else { return redirect('/')->withErrors('Stok buku kosong'); } } else { return redirect('/')->with('requiredName', $id); } }
public function update($id) { $user_id = \Request::input('user_id'); $checkBorrowCount = BookUser::whereUser_idAndStatus($user_id, 'pinjam')->count(); $checkOrderCount = BookUser::whereUser_idAndStatus($user_id, 'pesan')->count(); $checkCount = $checkBorrowCount + $checkOrderCount; if ($checkCount < 5) { $check = BookUser::whereUser_idAndBook_idAndStatus($user_id, $id, 'pinjam')->count(); if ($check < 1) { $book = Book::find($id); $book->stock -= 1; $book->save(); $data = new BookUser(); $data->user_id = $user_id; $data->book_id = $id; $data->status = 'pinjam'; $data->save(); return redirect('operator/transactions')->with('successMessage', 'Berhasil meminjam buku.'); } else { return redirect('operator/borrow')->with('errorMessage', 'User hanya bisa meminjam 1 buku dengan judul yang sama.'); } } else { return redirect('operator/borrow')->with('errorMessage', 'User Hanya bisa memesan/meminjam 5 buku'); } }
/** * Run the database seeds. * * @return void */ public function run() { DB::table('book_users')->delete(); $book_users = array(array('id' => 1, 'user_id' => 3, 'book_id' => 1, 'status' => 'pesan'), array('id' => 2, 'user_id' => 3, 'book_id' => 2, 'status' => 'pinjam'), array('id' => 3, 'user_id' => 3, 'book_id' => 3, 'status' => 'kembali')); foreach ($book_users as $book) { BookUsers::create($book); } }
public function index() { $user = Auth::user(); $pinjam = BookUser::whereStatus('pinjam')->get(); $kembali = BookUser::whereStatus('kembali')->get(); $pesan = BookUser::whereStatus('pesan')->get(); return view('operator.index', ['user' => $user, 'pinjam' => $pinjam, 'kembali' => $kembali, 'pesan' => $pesan]); }
public function update($id) { $book = Book::find(\Request::input('book_id')); $book->stock += 1; $book->save(); $data = BookUsers::find($id); $data->status = \Request::input('status'); $data->save(); return redirect('operator/transactions'); }
public function notif() { $notif = []; $data = BookUser::join('books', 'book_users.book_id', '=', 'books.id')->select('title', 'book_users.created_at')->whereUser_idAndStatus(Auth::user()->id, 'pinjam')->get(); foreach ($data as $d) { if ($d->created_at->diffInDays(new Carbon\Carbon()) > 6) { $notif[] = $d; $this->length++; } } $this->notif = $notif; }