public function Data(Request $request)
 {
     $vouchers = Voucher::select(['id', 'affiliate_id', 'voucher_type_id', 'code', 'created_at', 'total', 'payment_date']);
     if ($request->has('code')) {
         $vouchers->where(function ($vouchers) use($request) {
             $code = trim($request->get('code'));
             $vouchers->where('code', 'like', "%{$code}%");
         });
     }
     if ($request->has('affiliate_name')) {
         $vouchers->where(function ($vouchers) use($request) {
             $affiliate_name = trim($request->get('affiliate_name'));
             $vouchers->where('affiliate_name', 'like', "%{$affiliate_name}%");
         });
     }
     if ($request->has('creation_date')) {
         $vouchers->where(function ($vouchers) use($request) {
             $creation_date = Util::datePick($request->get('creation_date'));
             $vouchers->where('created_at', 'like', "%{$creation_date}%");
         });
     }
     if ($request->has('voucher_type')) {
         $vouchers->where(function ($vouchers) use($request) {
             $voucher_type = trim($request->get('voucher_type'));
             $vouchers->where('voucher_type_id', 'like', "%{$voucher_type}%");
         });
     }
     if ($request->has('payment_date')) {
         $vouchers->where(function ($vouchers) use($request) {
             $payment_date = Util::datePick($request->get('payment_date'));
             $vouchers->where('payment_date', 'like', "%{$payment_date}%");
         });
     }
     return Datatables::of($vouchers)->addColumn('affiliate_name', function ($voucher) {
         return $voucher->affiliate->getTittleName();
     })->editColumn('voucher_type', function ($voucher) {
         return $voucher->voucher_type->name;
     })->addColumn('total', function ($voucher) {
         return Util::formatMoney($voucher->total);
     })->editColumn('created_at', function ($voucher) {
         return $voucher->getCreationDate();
     })->addColumn('status', function ($voucher) {
         return $voucher->payment_date ? 'Pagado' : 'Pendiente';
     })->editColumn('payment_date', function ($voucher) {
         return $voucher->payment_date ? Util::getDateShort($voucher->payment_date) : '-';
     })->addColumn('action', function ($voucher) {
         return '<div class="btn-group" style="margin:-3px 0;">
                     <a href="voucher/' . $voucher->id . '" class="btn btn-primary btn-raised btn-sm">&nbsp;&nbsp;<i class="glyphicon glyphicon-eye-open"></i>&nbsp;&nbsp;</a>
                     <a href="" class="btn btn-primary btn-raised btn-sm dropdown-toggle" data-toggle="dropdown">&nbsp;<span class="caret"></span>&nbsp;</a>
                     <ul class="dropdown-menu">
                         <li><a href="voucher/delete/ ' . $voucher->id . ' " style="padding:3px 10px;"><i class="glyphicon glyphicon-ban-circle"></i> Anular</a></li>
                     </ul>
                 </div>';
     })->make(true);
 }