<?php namespace App\Http\Controllers;

use App\Custom\SQLConnection;
use App\Custom\Misc;
use Illuminate\Http\Request;

class ServiciosController extends Controller {

    //Parametros del store
    /*
    @p_action VARCHAR(30),
    @p_id_producto INT=NULL,
    @p_estado VARCHAR(1),
    @p_nombre_producto VARCHAR(100),
    @p_grupo_informes VARCHAR(20)=NULL,
    @p_sigla VARCHAR(10)=NULL,
    @p_url VARCHAR(50)=NULL,
    @p_icono VARCHAR(50)=NULL,
    @p_url_method VARCHAR(4)=NULL
    */
    
    public function index() {
        $servicios = SQLConnection::backendStoreProcedure('ABM_productos',array('LEVANTAR',null,null,null,null,null,null,null,null));
        return view('servicios.servicios')->with(compact('servicios'));
    }
    
    public function nuevo_servicio(Request $request){

        $nombre_producto = $request->input('nombre_servicio');
        $grupo_informe = $request->input('grupo_informe');
        $siglas = $request->input('siglas');
        $url = $request->input('url');
        $url_method = $request->input('url_method');
        $icono = $request->input('icono');
        if ($nombre_producto == null   || $grupo_informe == null ) {
            $response = ["respuesta"=>"Error al crear el servicio","status"=>500];
        } elseif(empty($nombre_producto)) {
            $response = ["respuesta"=>"Los campos nombre del servicio y grupo de informes son obligatorios","status"=>400];
        }else {
            $servicios = SQLConnection::backendStoreProcedure('ABM_productos',array('INSERTAR',null,'A',$nombre_producto,$grupo_informe,$siglas,$url,$icono,$url_method));
            $response = ["respuesta"=>"Producto creado correctamente","status"=>200];
        }
        return $response;
    }

    public function modificar_servicio(Request $request){

        $nombre_producto = $request->input('nombre_servicio');
        $grupo_informe = $request->input('grupo_informe');
        $siglas = $request->input('siglas');
        $id_producto = $request->input('id');
        $url = $request->input('url');
        $url_method = $request->input('url_method');
        $icono = $request->input('icono');

        if ($id_producto == null) {
                $response = ["respuesta"=>"Error al guardar los cambios","status"=>500];
        }else {
                $servicios = SQLConnection::backendStoreProcedure('ABM_productos',array('ACTUALIZAR',$id_producto,null,$nombre_producto,$grupo_informe,$siglas,$url,$icono,$url_method));
                $response = ["respuesta"=>"Los cambios se guardaron correctamente","status"=>200];
        }

        return $response;
        
    }
    
    public function cambiar_estado(Request $request){
        $id_producto = $request->input('id');
        $estado = $request->input('estado');
        $accion = ($estado == "A") ? "DESACTIVAR" : "ACTIVAR" ;
        //dd($estado,$accion);
        if($id_producto == null){
            $response = ["respuesta"=>"Error al cambiar de estado","status"=>500];
        }
        else {
            $servicios = SQLConnection::backendStoreProcedure('ABM_productos',array($accion,$id_producto,null,null,null,null,null,null,null));
            $response = ["respuesta"=>"Se cambio el estado exitosamente","status"=>200];            
        }
        return $response;
    }
}
