function grabarAction()
 {
     try {
         $SesionUsuarioPlugin = $this->SesionUsuarioPlugin();
         $EntityManagerPlugin = $this->EntityManagerPlugin();
         $GrupoPrecioCabBO = new GrupoPrecioCabBO();
         $GrupoPrecioCabBO->setEntityManager($EntityManagerPlugin->getEntityManager());
         $respuesta = $SesionUsuarioPlugin->isLoginAdmin();
         if ($respuesta == false) {
             return false;
         }
         $body = $this->getRequest()->getContent();
         $json = json_decode($body, true);
         $GrupoPrecioDetData = new GrupoPrecioDetData();
         $GrupoPrecioDetData->setGrupoPrecioCabId($json['grupo_precio_cab_id']);
         $GrupoPrecioDetData->setProductoId($json['producto_id']);
         $GrupoPrecioDetData->setVariedadId($json['variedad_id']);
         $GrupoPrecioDetData->setGradoId($json['grado_id']);
         $GrupoPrecioDetData->setPrecio($json['precio']);
         $GrupoPrecioDetData->setPrecioOferta($json['precio']);
         $result = $GrupoPrecioCabBO->registrarPrecio($json['tipo_precio'], $GrupoPrecioDetData);
         //Retorna la informacion resultante por JSON
         $response = new \stdClass();
         $response->respuesta_code = 'OK';
         $response->validacion_code = $result['validacion_code'];
         $response->respuesta_mensaje = $result['respuesta_mensaje'];
         $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;
     }
 }
 /**
  *
  * @param GrupoPrecioDetData $GrupoPrecioDetData
  * @return multitype:number Ambigous <multitype:, multitype:number string , number>
  */
 public function registrarPrecio($tipo_precio, GrupoPrecioDetData $GrupoPrecioDetData)
 {
     $GrupoPrecioDetData2 = $this->consultar($GrupoPrecioDetData->getGrupoPrecioCabId(), $GrupoPrecioDetData->getProductoId(), $GrupoPrecioDetData->getVariedadId(), $GrupoPrecioDetData->getGradoId());
     if ($GrupoPrecioDetData2) {
         $accion = \Application\Constants\Accion::MODIFICAR;
         $count = $this->actualizarPrecio($tipo_precio, $GrupoPrecioDetData);
         $result = $count;
     } else {
         $accion = \Application\Constants\Accion::INGRESAR;
         switch ($tipo_precio) {
             case 'OFERTA':
                 $GrupoPrecioDetData->setPrecio(0);
                 break;
             case 'NORMAL':
                 $GrupoPrecioDetData->setPrecioOferta(0);
                 break;
             default:
                 $GrupoPrecioDetData->setPrecioOferta(0);
                 $GrupoPrecioDetData->setPrecio(0);
                 break;
         }
         //end switch
         $key = $this->ingresar($GrupoPrecioDetData);
         $result = $key;
     }
     //end if
     return array($accion, $result);
 }