/**
  * Consultar
  *
  * @param string $id
  * @param int $resultType
  * @return \Dispo\Data\GrupoPrecioCabData|NULL|array
  */
 public function consultar($id, $resultType = \Application\Constants\ResultType::OBJETO)
 {
     switch ($resultType) {
         case \Application\Constants\ResultType::OBJETO:
             $GrupoPrecioCabData = new GrupoPrecioCabData();
             $sql = ' SELECT grupo_precio_cab.* ' . ' FROM grupo_precio_cab ' . ' WHERE grupo_precio_cab.id = :id ';
             $stmt = $this->getEntityManager()->getConnection()->prepare($sql);
             $stmt->bindValue(':id', $id);
             $stmt->execute();
             $row = $stmt->fetch();
             //Se utiliza el fecth por que es un registro
             if ($row) {
                 $GrupoPrecioCabData->setId($row['id']);
                 $GrupoPrecioCabData->setNombre($row['nombre']);
                 $GrupoPrecioCabData->setCalidadId($row['calidad_id']);
                 $GrupoPrecioCabData->setInventarioId($row['inventario_id']);
                 return $GrupoPrecioCabData;
             } else {
                 return null;
             }
             //end if
             break;
         case \Application\Constants\ResultType::MATRIZ:
             $sql = ' SELECT grupo_precio_cab.*, calidad.nombre as calidad_nombre, calidad.clasifica_fox as calidad_clasifica_fox  ' . ' FROM grupo_precio_cab LEFT JOIN calidad ' . '                              ON calidad.id = grupo_precio_cab.calidad_id ' . ' WHERE grupo_precio_cab.id = :id ';
             $stmt = $this->getEntityManager()->getConnection()->prepare($sql);
             $stmt->bindValue(':id', $id);
             $stmt->execute();
             $row = $stmt->fetch();
             //Se utiliza el fecth por que es un registro
             return $row;
             break;
     }
     //end switch
 }
 function grabardataAction()
 {
     try {
         $SesionUsuarioPlugin = $this->SesionUsuarioPlugin();
         $EntityManagerPlugin = $this->EntityManagerPlugin();
         $GrupoPrecioCabBO = new GrupoPrecioCabBO();
         $InventarioBO = new InventarioBO();
         $CalidadBO = new CalidadBO();
         $GrupoPrecioCabBO->setEntityManager($EntityManagerPlugin->getEntityManager());
         $InventarioBO->setEntityManager($EntityManagerPlugin->getEntityManager());
         $CalidadBO->setEntityManager($EntityManagerPlugin->getEntityManager());
         $respuesta = $SesionUsuarioPlugin->isLoginAdmin();
         if ($respuesta == false) {
             return false;
         }
         $usuario_id = $SesionUsuarioPlugin->getUsuarioId();
         $body = $this->getRequest()->getContent();
         $json = json_decode($body, true);
         $accion = $json['accion'];
         $id = $json['id'];
         $GrupoPrecioCabData = new GrupoPrecioCabData();
         $GrupoPrecioCabData->setId($id);
         $GrupoPrecioCabData->setNombre($json['nombre']);
         $GrupoPrecioCabData->setInventarioId($json['inventario_id']);
         $GrupoPrecioCabData->setCalidadId($json['calidad_id']);
         $GrupoPrecioCabData->setUsuarioIngId($usuario_id);
         $GrupoPrecioCabData->setUsuarioModId($usuario_id);
         switch ($accion) {
             case 'I':
                 //Ingreso
                 $result = $GrupoPrecioCabBO->registrarPorAccion('I', $GrupoPrecioCabData);
                 $id = $result['id'];
                 break;
             case 'M':
                 //Modificar
                 $result = $GrupoPrecioCabBO->registrarPorAccion('M', $GrupoPrecioCabData);
                 $id = $result['id'];
                 break;
         }
         //end switch
         $row = $GrupoPrecioCabBO->consultarCabecera($id, \Application\Constants\ResultType::MATRIZ);
         //Retorna la informacion resultante por JSON
         $response = new \stdClass();
         $response->respuesta_code = 'OK';
         $response->row = $row;
         $response->inventario_opciones = $InventarioBO->getCombo($row['inventario_id'], "<Seleccione>");
         $response->calidad_opciones = $CalidadBO->getComboCalidad($row['calidad_id'], "<Seleccione>");
         $json = new JsonModel(get_object_vars($response));
         return $json;
         //false
     } catch (\Exception $e) {
         $excepcion_msg = utf8_encode($this->ExcepcionPlugin()->getMessageFormat($e));
         $response = $this->getResponse();
         $response->setStatusCode(500);
         $response->setContent($excepcion_msg);
         return $response;
     }
 }