/home/dvjjulio/test.istyle.mx/app/Http/Controllers/ProductoController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Producto;
use Uuid;
use Auth;
use Validator;
class ProductoController extends Controller
{
//
public function index(){
$productos = Producto::where('status_id',1)->get();
return view('Catalogos.Producto')->with(compact('productos'));
}
public function guardar(Request $request){
$data = $request->all();
// Busca si existe la categorÃa previamente en la BD
$product = Producto::where('descripcion','=',$data['descripcion'])->where('status_id',0)->first();
if(isset($product)){
$data['id'] = $product->id;
}
if($data['id']=="0"){
$validacion = Validator::make($data,
array(
'descripcion' => 'required|unique:producto',
),
array(
'descripcion.required' => 'La descripcion es obligatorio',
'descripcion.unique' => 'El producto ya existe',
)
);
}else{
$validacion = Validator::make($data,
array(
'descripcion' => 'required',
),
array(
'descripcion.required' => 'La descripcion es obligatorio',
)
);
}
if($validacion->fails()){
return response()->json(['status'=>false,'message'=>$validacion->messages()]);
}
if($data['id']=="0"){
$producto = new Producto();
$producto->id = Uuid::generate();
$mesage = "El producto ha sido creado exitosamente";
}else{
$producto = Producto::find($data['id']);
$producto->status_id = 1;
$mesage = "El producto ha sido actualizada correctamente";
}
$producto->descripcion =$data['descripcion'];
$producto->costo_mx =$data['costo_mx'];
$producto->costo_eu =$data['costo_eu'];
$producto->costo_gua =$data['costo_gua'];
$producto->comisiona =$data['comisiona'];
$producto->cliente_id = Auth::user()->id;
if($producto->save()){ // Guardar en base de datos
return response()->json(['status'=>true,'message'=>$mesage,'data'=>$data]);
}else{
return response()->json(['status'=>false,'message'=>'Error al insertar los datos']);
}
}
public function update(Request $request){
$id = $request->input('id');
return Producto::find($id);
}
public function delete(Request $request){
$producto = Producto::Find($request->input('id'));
$producto->status_id=0;
if ($producto->save()){
return response()->json(['status'=>true,'message'=>'Registro eliminado correctamente']);
}else{
return response()->json(['status'=>false,'message'=>'Error al eliminar registro']);
}
}
}