/home/mip/mip/app/Modules/Client/Controllers/Directory/AffiliatesController.php
<?php

namespace QxCMS\Modules\Client\Controllers\Directory;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;
use Datatables;

use QxCMS\Modules\Client\Repositories\Directory\AffiliatesRepositoryInterface as Affiliates;

class AffiliatesController extends Controller
{

    public function __construct(Affiliates $affiliates)
    {
        $this->affiliates = $affiliates;
    }

    public function store(Request $request)
    {        
        return $this->affiliates->create($request->all());
    }

    public function update(Request $request)
    {
         return $this->affiliates->update($request);
    }

    public function destroy($id)
    {
        return $this->affiliates->delete($id); 
    }

    public function getAffiliatesData()
    {
        $affiliates = $this->affiliates->select(['*']);
        return Datatables::of($affiliates)
           ->addColumn('action', function($affiliates) {
                $html = '<a href="#edit" class="btn btn-xs btn-flat btn-warning btn-edit" data-action="'.url('client').'/modals/affiliates/update/'.$affiliates->id.'" data-id="'.$affiliates->id.'">
                        <i class="fa fa-pencil"></i>
                    </a>
                    <a href="#delete" class="btn btn-xs btn-flat btn-danger btn-delete" data-action="'.url('client').'/modals/affiliates/destroy/'.$affiliates->id.'" data-id="'.$affiliates->id.'">
                    <i class="fa fa-trash-o"></i>
                    </a>';
            return $html;
            })->make(true);
    }
}