/home2/mshostin/public_html/app/Http/Controllers/ClientController.php
<?php
namespace App\Http\Controllers;
use App\Sale;
use App\Client;
use App\Refrence;
use App\Transaction;
use App\PaymentMethod;
use Illuminate\Http\Request;
use App\Http\Requests\ClientRequest;
use Illuminate\Support\Facades\Validator;
class ClientController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$clients = Client::paginate(25);
return view('clients.index', compact('clients'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
$ref = Refrence::all();
return view('clients.create',compact('ref'));
}
/**
* Store a newly created resource in storage.
*
* @param \App\Http\Request\ClientRequest $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request, Client $client)
{
$validated = $request->validate([
'document_id' => 'required|unique:clients',
'document_type' => 'required',
'reference_id' => 'required|numeric',
'name' => 'required',
'email' => 'required',
]);
try{
$client->create($request->all());
return redirect()->route('clients.index')->withStatus('Successfully registered customer.');
}
catch(Exception $ex)
{
return redirect()->back()->withError($ex);
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show(Client $client)
{
return view('clients.show', compact('client'));
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit(Client $client)
{
$ref = Refrence::all();
return view('clients.edit', compact('client','ref'));
}
/**
* Update the specified resource in storage.
*
* @param \App\Http\Request\ClientRequest $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(ClientRequest $request, Client $client)
{
$client->update($request->all());
$client->reference_id = $request->reference_id;
$client->save();
// dd($client->toArray());
return redirect()
->route('clients.index')
->withStatus('Successfully modified customer.');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy(Client $client)
{
$client->delete();
return redirect()
->route('clients.index')
->withStatus('Customer successfully removed.');
}
public function addtransaction(Client $client)
{
$payment_methods = PaymentMethod::all();
return view('clients.transactions.add', compact('client','payment_methods'));
}
}