diseño lógica negocio y DAL

08/05/2007 - 10:56 por Alhambra Eidos Kiquenet | Informe spam
Hola a todos,

tengo en una clase de Lógica de negocio algo así:

Parte de un método
using (ValoracionesDal dal = new ValoracionesDal())
{
string condiciones =
dal.ObtenerCondicionesTareasNoFinalizadasDeCriterios(criterios);
return dal.ObtenerValoracion(idvaloracion, condiciones);
}


Y este método...
private string ObtenerCondicionesTareasNoFinalizadasDeCriterios(
CriteriosListadoTareasNoFinalizadas criterios)
{
string sqlCondiciones = string.Empty;

using (TareasDal dal = new TareasDal())
{
if (criterios.OpcionTipoInmueble)
sqlCondiciones =
dal.CondicionParaCriterioTipoInmueble(criterios.Tipoval);
else if (criterios.OpcionTasador)
sqlCondiciones =
dal.CondicionParaCriterioTasador(criterios.Clavetasa);
else if (criterios.OpcionZona)
sqlCondiciones =
dal.CondicionParaCriterioZona(criterios.Zona);
else if (criterios.OpcionNexped)
sqlCondiciones =
dal.CondicionParaCriterioNexped(criterios.Nexpedval);
else if (criterios.OpcionSolicitante)
sqlCondiciones =
dal.CondicionParaCriterioSolicitante(criterios.Solicitante);
else if (criterios.OpcionDireccion)
sqlCondiciones =
dal.CondicionParaCriterioDireccion(criterios.Direccion);
}
return sqlCondiciones;
}


Quería saber cuál sería la forma más adecuada de implementar casos así.

Digamos que se quiere ejecutar una consulta que va a depender de ciertas
condiciones. Se pueden considerar estas condiciones como parte de la lógica
de negocio, y por tanto el tratamiento debería estar en la capa BL.

Pero a su vez, las condiciones al fin y al cabo van a expresarse en una
condición SQL por tanto generará código SQL en la capa DAL.

Qué plantemientos habría al respecto sobre este tema, qué formas de
implementación podría optar ?

Saludos y gracias de antemano.


http://www.alhambra-eidos.es/web2005/index.html
www.kiquenet.net
 

Leer las respuestas

#1 Alfredo Novoa
08/05/2007 - 13:20 | Informe spam
On Tue, 8 May 2007 01:56:01 -0700, Alhambra Eidos Kiquenet
wrote:

Quería saber cuál sería la forma más adecuada de implementar casos así.



Hacerlo con el SGBD.

Digamos que se quiere ejecutar una consulta que va a depender de ciertas
condiciones.



Si guardas las condiciones en la base de datos luego podrás sacar lo
que quieras con una simple consulta.

Se pueden considerar estas condiciones como parte de la lógica
de negocio, y por tanto el tratamiento debería estar en la capa BL.



Es decir que esa lógica la debería de asegurar el SGBD.


Saludos

Preguntas similares