TSLAppCRUDBussinessService
extends TSLStandardBussinessService
in
Objeto de Negocios que manipula las acciones directas a la entidad tales como listar , agregar , eliminar , etc., este es util para casos simples donde las operaciones CRUD se asocian directamente a un modelo.
Esta clase es un comodity para el caso que no se requiera validacion y asi no sea necesario implementar este metodo. (Para los casos WEB esto generalmente se hace en el controller ni bien llegan los parametros externos via REQUEST). Asi mismo preExecuteService y postExecuteService por default no efectuan accion alguna.
Table of Contents
$IdDAOName | El Nombre que identifica al DAO. | string |
---|---|---|
$IdMSGLanguage | El nombre en la definicion de lenguaje para los mensajes de error o informacion, | string |
$msgPrefix | Prefijo a usarse para rescatar los mensajes en el lenguaje adecuado. | string |
setup() | Inicializa la clase indicandosele el dao a usar, el lenguaje y el prefijo a usar al buscar los mensajes. | void |
doService() | Despachador estandard para las Operaciones CRUD de un servicio. | void |
fetch() | Retorna una lista con todos los tipos de registros asociados a la operacion fetch del DAO indicado. | void |
read() | Lee un registro de la persistencia. | void |
delete() | Elimina un registro de la persistencia. | void |
update() | Actualiza un registro en la persistencia. | void |
add() | Agrega un registro a la persistencia. | void |
getModelToUpdate() | Metodo a ser implementado por las clases especificas que basicamente debera extraer del DTO los valores del modelo para crearlo y retornarlo para su posterior proceso en un update. | TSLDataModel |
getModelToAdd() | Metodo a ser implementado por las clases especificas que basicamente debera extraer del DTO los valores del modelo para crearlo y retornarlo para su posterior proceso en una operacion de agregar. | TSLDataModel |
getEmptyModel() | return an instance of the model to work. | TSLDataModel |
getModelToDelete() | Retorna una instancia del modelo para eliminar. | TSLDataModel |
validateData() | Sera llamada para tener la oportunidad de validar los datos del DTO en caso fuera necesario. | bool |
preExecuteService() | Si se requiere efectuar un proceso previo sobre los datos del DTO , override de este metodo permitira efectuar este trabajo de acuerdo a los requerimientos especificos. | void |
postExecuteService() | Si se requiere efectuar un proceso posterior a la ejecucion del servicio sobre los datos del DTO , override de este metodo permitira efectuar este trabajo de acuerdo a los requerimientos especificos. | void |
executeService() | Punto de entrada del servicio donde se indicara la accion a tomar y asi mismo los datos requeridos por dicha accion seran enviados a traves del DTO. | void |
doService() | Este metodo efectuara la accion requerido al Bussiness Object dependiendo de la accion solicitada , override de este metodo permitira efectuar acciones especificas. | void |
Properties
$IdDAOName
El Nombre que identifica al DAO.
private
string
$IdDAOName
$IdMSGLanguage
El nombre en la definicion de lenguaje para los mensajes de error o informacion,
private
string
$IdMSGLanguage
$msgPrefix
Prefijo a usarse para rescatar los mensajes en el lenguaje adecuado.
private
string
$msgPrefix
Methods
setup()
Inicializa la clase indicandosele el dao a usar, el lenguaje y el prefijo a usar al buscar los mensajes.
public
setup(
$IdDAOName :
string
, $IdMSGLanguage :
string
, $msgPrefix :
string
)
: void
Parameters
- $IdDAOName : string
Nombre de la clase DAO, sin la extension del tipo de base de datos.
- $IdMSGLanguage : string
Identificador del lenguage para los mensajes, por ejemplo sera usado en $CI->lang->load('tcontribuyente')
- $msgPrefix : string
prefijo a usar en los identificadores de mensajes por ejemplo "msg_tcontrib" el cual sera prefijado a "_servererror" para la busqueda del mensaje , la segunda parte esta fija en el codigo.
doService()
Despachador estandard para las Operaciones CRUD de un servicio.
protected
doService(
$action :
string
, $dto :
TSLIDataTransferObj
)
: void
Se entiende que a traves del DTO o DATA TRANSFER OBJECT se entregara la informacion necesaria para el procesamiento de la operacion.
Parameters
- $action : string
, las acciones estandard soportadas son list,read,delete,update,add
- $dto : TSLIDataTransferObj
el DATA TRANSFER OBJECT
fetch()
Retorna una lista con todos los tipos de registros asociados a la operacion fetch del DAO indicado.
private
fetch(
$dto :
TSLIDataTransferObj
)
: void
Esta lista no es paginada
Parameters
- $dto : TSLIDataTransferObj
EL DATA TRANSFER OBJECT este es el repositorio de las respuestas encontradas y/o de los mensajes necesarios ya sean de exito o error, es a traves de este objeto es que se pasan los datos para la busqueda y el constraint.
Tags
read()
Lee un registro de la persistencia.
private
read(
$dto :
TSLIDataTransferObj
)
: void
Parameters
- $dto : TSLIDataTransferObj
EL DATA TRANSFER OBJECT contendra todos los datos requeridos para la busqueda del registro a leer, se espera los siguientes parametros al menos: id: EL identificador unico del registro a leer verifyExist: si es true indicara error si no existe.
Ya sea en caso de error o no , la respuesta estara contenida en el DTO.
Tags
delete()
Elimina un registro de la persistencia.
private
delete(
$dto :
TSLIDataTransferObj
)
: void
Parameters
- $dto : TSLIDataTransferObj
EL DATA TRANSFER OBJECT contendra todos los datos requeridos del registro a eliminar, se espera los siguientes parametros al menos:
id : EL identificador unico del registro a leer.
versionid : Identificador unico de version del registro a eliminar, si este valor se encuentra cambiado se asume que ha sido alterado previo a esta accion de eliminacion.
verifiedDeleted : si es true indicara error en el caso que ya haya sido eliminado.Ya sea en caso de error o no , la respuesta estara contenida en el DTO.
Tags
update()
Actualiza un registro en la persistencia.
private
update(
$dto :
TSLIDataTransferObj
)
: void
Parameters
- $dto : TSLIDataTransferObj
EL DATA TRANSFER OBJECT contendra todos los datos requeridos del registro a actualizar, se espera como parte de los parametros los datos a usarse para crear el modelo a actualizar.
Ya sea en caso de error o no , la respuesta estara contenida en el DTO.
Tags
add()
Agrega un registro a la persistencia.
private
add(
$dto :
TSLIDataTransferObj
)
: void
Parameters
- $dto : TSLIDataTransferObj
EL DATA TRANSFER OBJECT contendra todos los datos requeridos del registro a agregar, se espera como parte de los parametros los datos a usarse para crear el modelo a actualizar.
Ya sea en caso de error o no , la respuesta estara contenida en el DTO.
Tags
getModelToUpdate()
Metodo a ser implementado por las clases especificas que basicamente debera extraer del DTO los valores del modelo para crearlo y retornarlo para su posterior proceso en un update.
protected
abstract getModelToUpdate(
$dto :
TSLIDataTransferObj
)
: TSLDataModel
Parameters
- $dto : TSLIDataTransferObj
EL DATA TRANSFER OBJECT conteniendo los datos para crear el modelo dentro de su lista de parametros.
Return values
TSLDataModel —Instancia de modelo especifico a usar..
getModelToAdd()
Metodo a ser implementado por las clases especificas que basicamente debera extraer del DTO los valores del modelo para crearlo y retornarlo para su posterior proceso en una operacion de agregar.
protected
abstract getModelToAdd(
$dto :
TSLIDataTransferObj
)
: TSLDataModel
Parameters
- $dto : TSLIDataTransferObj
EL DATA TRANSFER OBJECT conteniendo los datos para crear el modelo dentro de su lista de parametros.
Return values
TSLDataModel —Instancia de modelo especifico a usar..
getEmptyModel()
return an instance of the model to work.
protected
abstract getEmptyModel(
)
: TSLDataModel
Return values
TSLDataModel —Instancia de modelo especifico a usar..
getModelToDelete()
Retorna una instancia del modelo para eliminar.
protected
abstract getModelToDelete(
$dto :
TSLIDataTransferObj
)
: TSLDataModel
Parameters
- $dto : TSLIDataTransferObj
EL DATA TRANSFER OBJECT conteniendo los datos para crear el modelo dentro de su lista de parametros.
Return values
TSLDataModel —Instancia de modelo especifico a usar..
validateData()
Sera llamada para tener la oportunidad de validar los datos del DTO en caso fuera necesario.
protected
abstract validateData(
$dto :
TSLIDataTransferObj
)
: bool
Parameters
- $dto : TSLIDataTransferObj
el Data Transfer Object conteniendo los datos a validar y luego procesar.
Return values
bool —true si es correcta la validacion , false de lo contrario
preExecuteService()
Si se requiere efectuar un proceso previo sobre los datos del DTO , override de este metodo permitira efectuar este trabajo de acuerdo a los requerimientos especificos.
protected
abstract preExecuteService(
$action :
string
, $dto :
TSLIDataTransferObj
)
: void
Parameters
- $action : string
string que contendra la accion a efectuar
- $dto : TSLIDataTransferObj
el Data Transfer Object conteniendo los datos a procesar.
postExecuteService()
Si se requiere efectuar un proceso posterior a la ejecucion del servicio sobre los datos del DTO , override de este metodo permitira efectuar este trabajo de acuerdo a los requerimientos especificos.
protected
abstract postExecuteService(
$action :
string
, $dto :
TSLIDataTransferObj
)
: void
Parameters
- $action : string
string que contendra la accion a efectuar
- $dto : TSLIDataTransferObj
el Data Transfer Object conteniendo los datos a procesar.
executeService()
Punto de entrada del servicio donde se indicara la accion a tomar y asi mismo los datos requeridos por dicha accion seran enviados a traves del DTO.
public
executeService(
$action :
string
, $dto :
TSLIDataTransferObj
)
: void
Todo servicio debera poner sus respuestas en la parte de mensaje de DTO y debera indicar con true o false si la accion se ha ejecutado con exito.
Parameters
- $action : string
nombre que identifica la accion a ejecutar.
- $dto : TSLIDataTransferObj
el Data transfer Object que contendra todo lo necesario para la ejecucion de la accion.
Tags
doService()
Este metodo efectuara la accion requerido al Bussiness Object dependiendo de la accion solicitada , override de este metodo permitira efectuar acciones especificas.
protected
abstract doService(
$action :
string
, $dto :
TSLIDataTransferObj
)
: void
Parameters
- $action : string
string que contendra la accion a efectuar
- $dto : TSLIDataTransferObj
el Data Transfer Object conteniendo los datos a procesar.