/** * 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'); } }