public function grabarAction()
 {
     try {
         $SesionUsuarioPlugin = $this->SesionUsuarioPlugin();
         $usuario_id = $SesionUsuarioPlugin->getUsuarioId();
         $EntityManagerPlugin = $this->EntityManagerPlugin();
         $respuesta = $SesionUsuarioPlugin->isLoginAdmin();
         if ($respuesta == false) {
             return false;
         }
         $TipoCajaMarcacionBO = new TipoCajaMarcacionBO();
         $TipoCajaMarcacionBO->setEntityManager($EntityManagerPlugin->getEntityManager());
         $request = $this->getRequest();
         $body = $this->getRequest()->getContent();
         $json = json_decode($body, true);
         $gridTipoCaja_ingresar = $json['gridTipoCaja_ingresar'];
         $gridTipoCaja_modificar = $json['gridTipoCaja_modificar'];
         $gridTipoCaja_eliminar = $json['gridTipoCaja_eliminar'];
         //Detalle de la Caja Marcacion (ELIMINAR)
         $ArrTipoCaja = array();
         foreach ($gridTipoCaja_eliminar as $reg) {
             $TipoCajaMarcacionData = new TipoCajaMarcacionData();
             $TipoCajaMarcacionData->setAccion('E');
             $TipoCajaMarcacionData->setId($reg['id']);
             $ArrTipoCaja[] = $TipoCajaMarcacionData;
             unset($TipoCajaMarcacionData);
         }
         //end foreach
         //Detalle de la Caja Marcacion (INGRESAR)
         foreach ($gridTipoCaja_ingresar as $reg) {
             $TipoCajaMarcacionData = new TipoCajaMarcacionData();
             $TipoCajaMarcacionData->setAccion('I');
             $TipoCajaMarcacionData->setId($reg['id']);
             $TipoCajaMarcacionData->setMarcacionSec($reg['marcacion_sec']);
             $TipoCajaMarcacionData->setTipoCajaId($reg['tipo_caja_id']);
             $TipoCajaMarcacionData->setInventarioId($reg['inventario_id']);
             $TipoCajaMarcacionData->setVariedadId($reg['variedad_id']);
             $TipoCajaMarcacionData->setGradoId($reg['grado_id']);
             $TipoCajaMarcacionData->setUndsBunch($reg['unds_bunch']);
             $TipoCajaMarcacionData->setUsuarioIngId($usuario_id);
             $TipoCajaMarcacionData->setUsuarioModId($usuario_id);
             $ArrTipoCaja[] = $TipoCajaMarcacionData;
             unset($TipoCajaMarcacionData);
         }
         //end foreach
         //Detalle de la Caja Marcacion (MODIFICAR)
         foreach ($gridTipoCaja_modificar as $reg) {
             $TipoCajaMarcacionData = new TipoCajaMarcacionData();
             $TipoCajaMarcacionData->setAccion('M');
             $TipoCajaMarcacionData->setId($reg['id']);
             $TipoCajaMarcacionData->setMarcacionSec($reg['marcacion_sec']);
             $TipoCajaMarcacionData->setTipoCajaId($reg['tipo_caja_id']);
             $TipoCajaMarcacionData->setInventarioId($reg['inventario_id']);
             $TipoCajaMarcacionData->setVariedadId($reg['variedad_id']);
             $TipoCajaMarcacionData->setGradoId($reg['grado_id']);
             $TipoCajaMarcacionData->setUndsBunch($reg['unds_bunch']);
             $TipoCajaMarcacionData->setUsuarioIngId($usuario_id);
             $TipoCajaMarcacionData->setUsuarioModId($usuario_id);
             $ArrTipoCaja[] = $TipoCajaMarcacionData;
             unset($TipoCajaMarcacionData);
         }
         //end foreach
         $respuesta = $TipoCajaMarcacionBO->grabar($ArrTipoCaja);
         $response = new \stdClass();
         $response->respuesta_code = 'OK';
         $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;
     }
 }