Herramientas de usuario

Herramientas del sitio


desarrolladores:desarrolladores:administracion_de_convenios:sfconvenioadm.class.php

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

desarrolladores:desarrolladores:administracion_de_convenios:sfconvenioadm.class.php [26/05/2021 14:26]
guille
desarrolladores:desarrolladores:administracion_de_convenios:sfconvenioadm.class.php [21/01/2023 04:19] (actual)
Línea 31: Línea 31:
  
 El objeto de clase sfConvenioAdmBase tiene un arreglo interno de bloques ya parseados. Los mismos son de clase ctBlockBase. El objeto de clase sfConvenioAdmBase tiene un arreglo interno de bloques ya parseados. Los mismos son de clase ctBlockBase.
 +
 +=====   =====
  
 ===== Métodos ===== ===== Métodos =====
 +
 +==== create($comportamiento,​ $ambito, $entidadBase) ====
 +
 +Método estático que crea un objeto convenio a partir de sus parámetros. Es la forma de obtener un convenio para una entidad dada en un ámbito determinado.
 +
 +==== fetchById($id) ====
 +
 +Método estático que trae un convenio desde la base de datos y lo instancia a pesar de no tener la entidad base. Sirve para poder manipular los bloques de reglas por ejemplo.
  
 ==== getBlocksCount() ==== ==== getBlocksCount() ====
  
-Devuelve la cantidad de bloques+Devuelve la cantidad de bloques
 + 
 +==== getBlocks() ==== 
 + 
 +Devuelve el arrglo/​lista de objetos de tipo ctBlockBase. Es decir, es un arreglo con indices 0, 1, 2… n segun la cantidad de bloques del json persistido en la DB. 
 + 
 +==== insertBlock(ctBlockBase $block, $pos=0) ==== 
 + 
 +Inserta un bloque a la lista de bloques del convenio. El parámetro necesario es un bloque y opcionalmente la posición donde se va a insertar. La posición indica el lugar en la lista donde va a quedar el bloque insertado. En caso de que la posicipon no sea correcta, es decir que no sea una posición existente, entonces se inserta al principio si es una posición menor a las existentes o al final si es una posición mayor a las existentes. Los bloques siempre están en una lista correlativa. 
 + 
 +Ejemplo: 
 + 
 +En este ejemplo para construir los parametros de la operación de agregación del bloque parto de json (string) y luego genero el arreglo para pasarle de parámetro al bloque. Como asumo un contexto de edición no indico en la construcción del bloque que entidad ni tampoco proveo un entorno. 
 + 
 +$blockDefJS = '​{"​SOLO TEST": {\\ 
 +"​op":​ {\\ 
 +"​IN":​ {\\ 
 +"​left":​ "​idLaboratorio",​\\ 
 +"​right":​ []\\ 
 +}\\ 
 +},\\ 
 +"​then":​ [],\\ 
 +"​else":​ []\\ 
 +}}';​\\ 
 +$blockDefArr = json_decode($blockDefJS,​ true);\\ 
 +$bloqueNuevo = new ctBlockBase($blockDefArr,​ '',​ array());​\\ 
 +$this→convenio→insertBlock($bloqueNuevo);​\\ 
 +$this->​convenio->​save();​
  
-===== ctBlockBase =====+====== ctBlockBase ​======
  
desarrolladores/desarrolladores/administracion_de_convenios/sfconvenioadm.class.php.1622039213.txt.gz · Última modificación: 21/01/2023 04:19 (editor externo)