示例#1
0
 /**
  * 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');
     }
 }