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