/**
  * Display product stock's movement
  *
  * @param skip, take
  * @return Response
  */
 public function card($id = null)
 {
     $varian = \App\Models\Varian::id($id);
     $detail = \App\Models\TransactionDetail::varianid($id)->stockmovement(true);
     if (Input::has('search')) {
         $search = Input::get('search');
         foreach ($search as $key => $value) {
             switch (strtolower($key)) {
                 case 'ondate':
                     if (is_array($value)) {
                         $balance = \App\Models\Varian::id($id)->TransactionLogChangedAt($value[0]);
                         $prev_date = $value[0];
                         $detail = $detail->TransactionLogChangedAt($value);
                         $varian = $varian->TransactionLogChangedAt($value[1]);
                     } else {
                         $detail = $detail->TransactionLogChangedAt($value);
                         $varian = $varian->TransactionLogChangedAt($value);
                     }
                     break;
                 default:
                     # code...
                     break;
             }
         }
     }
     if (!$varian->first()) {
         return new JSend('error', (array) Input::all(), 'ID Tidak valid.');
     }
     $varian = $varian->with(['product'])->first()->toArray();
     if (isset($balance)) {
         $balance = $balance->first();
         $balance_old[] = ['ref' => 'Balance', 'varian_id' => $id, 'transact_at' => Carbon::parse($prev_date)->format('Y-m-d H:i:s'), 'stock_in' => $balance['inventory_stock'], 'stock_out' => 0];
         $detail_old = $detail->get()->toArray();
         if (!empty($detail_old)) {
             $varian['details'] = array_merge($balance_old, $detail_old);
         } else {
             $varian['details'] = $balance_old;
         }
     } else {
         $varian['details'] = $detail->get()->toArray();
     }
     return new JSend('success', (array) $varian);
 }