TFS_ANTIGUO/AYA.FROPI/AyABL/AyABL.cs

271 lines
11 KiB
C#
Raw Normal View History

using System;
using System.Collections;
using System.Collections.Specialized;
using System.Data;
using AyADAL;
namespace AyABL
{
public class AyABL
{
#region Atributos
// Para comunicar la capa BL con la capa AyADL
protected BaseDAL baseDAL = new BaseDAL();
/// <summary>
/// Nombre de la tabla en la base de datos
/// </summary>
protected string NombreTabla { get; set; }
// Setea o devuelve los campos que deseo recuperar de la base de datos
protected string CamposTabla = "*";
/// <summary>
/// Nombre de la coneccion a la base de datos
/// </summary>
protected string NombreConeccionBD = "FOPI";
/// <summary>
/// Nombre de la tabla en la base de datos
/// </summary>
protected string NombreProcedimiento { get; set; }
/// <summary>
/// Guarda los valores ingresados por el usuario los cuales se van a enviar a la base de datos
/// </summary>
protected object[] ValoresCampos { get; set; }
private string strSentenciaSQL = "";
private DataSet dsResultado = new DataSet();
#endregion
#region Parametros
public enum Parametros
{
}
#endregion
#region Metodos Personalizados
/// <summary>
/// Carga las condiciones de busqueda ingresadas por el usuario y las convierte a tipo CondicionDAL
/// </summary>
/// <param name="arlCondiciones"></param>
/// <param name="condicionesBusqueda"></param>
protected void cargarCondicionBusqueda(ArrayList arlCondicionesDestino, ArrayList condicionesBusquedaOrigen)
{
if (condicionesBusquedaOrigen != null && condicionesBusquedaOrigen.Count > 0)
{
foreach (CondicionDAL cdlCondicion in condicionesBusquedaOrigen)
{
arlCondicionesDestino.Add(cdlCondicion);
}
}
}
///// <summary>
///// Método que retorna la llave próxima a insertar en la tabla para
///// llaves que estan definidas como identity
///// </summary>
///// <param name="strTableName">Nombre de la tabla</param>
///// <param name="strConnectionString">string de conexión</param>
///// <returns>Proxima PK a insertar</returns>
public int SiguientePKAutoIncremental(string p_strNombreTabla, string p_strConnectionString)
{
dsResultado = new DataSet();
int intValorRetornado = 0;
strSentenciaSQL = String.Format("{0} {1}('{2}')", clausulasDML.SELECT, funcionesTLAgg.IDENT_CURRENT, p_strNombreTabla);
dsResultado = baseDAL.ejecutarConsulta(strSentenciaSQL, null, p_strConnectionString);
if (dsResultado != null && dsResultado.Tables[0].Rows.Count > 0 &&
dsResultado.Tables[0].Rows[0][0] != null &&
!String.IsNullOrEmpty(dsResultado.Tables[0].Rows[0][0].ToString()))
intValorRetornado = (int.Parse(dsResultado.Tables[0].Rows[0][0].ToString()) + 1);
else
return intValorRetornado;
return intValorRetornado;
}
#endregion
#region Condiciones de Busqueda
/// <summary>
/// Devuelve la condicion de busqueda por pk
/// </summary>
/// <param name="p_intPK"></param>
/// <param name="p_nombreTabla"></param>
/// <param name="operador"></param>
protected CondicionDAL buscarPorPK(Nullable<int> p_intPK, Tablas p_nombreTabla, operadorLogico logOp)
{
CondicionDAL cdlCondicion = new CondicionDAL();
cdlCondicion.valorIzquierdo = Constraints.PK.ToString() + p_nombreTabla.ToString().ToUpper();
cdlCondicion.operadorGeneral = operadorGeneral.EQUAL;
cdlCondicion.operadorLogico = logOp;
cdlCondicion.valorDerecho = p_intPK;
return cdlCondicion;
}
/// <summary>
/// Devuelve la condicion de busqueda por fk
/// </summary>
/// <param name="p_intFK"></param>
/// <param name="p_nombreTabla"></param>
/// <param name="operador"></param>
protected CondicionDAL buscarPorFK(Nullable<int> p_intFK, Tablas p_nombreTabla, operadorLogico logOp)
{
CondicionDAL cdlCondicion = new CondicionDAL();
cdlCondicion.valorIzquierdo = Constraints.FK.ToString() + p_nombreTabla.ToString().ToUpper();
cdlCondicion.operadorGeneral = operadorGeneral.EQUAL;
cdlCondicion.operadorLogico = logOp;
cdlCondicion.valorDerecho = p_intFK;
return cdlCondicion;
}
protected CondicionDAL buscarPorAstate(Nullable<bool> p_blnAstate, Tablas p_nombreTabla, operadorLogico operador)
{
int intValor = 0;
//Se utiliza para hacer la conversión cuando el valor es booleano
if (p_blnAstate == true)
intValor = 1;
else
intValor = 0;
CondicionDAL cdlCondicion = new CondicionDAL();
cdlCondicion.valorIzquierdo = Concepto.ASTATE.ToString() + p_nombreTabla.ToString().ToUpper();
cdlCondicion.operadorGeneral = operadorGeneral.EQUAL;
cdlCondicion.operadorLogico = operador;
cdlCondicion.valorDerecho = intValor;
return cdlCondicion;
}
protected CondicionDAL buscarPorVistoBuenoPlanificacion(Nullable<bool> p_blnVistoBueno, Tablas p_nombreTabla, operadorLogico operador)
{
int intValor = 0;
//Se utiliza para hacer la conversión cuando el valor es booleano
if (p_blnVistoBueno == true)
intValor = 1;
else
intValor = 0;
CondicionDAL cdlCondicion = new CondicionDAL();
cdlCondicion.valorIzquierdo = t_agp_proyecto.VISTOBUENOPLANIFICACION.ToString() + p_nombreTabla.ToString().ToUpper();
cdlCondicion.operadorGeneral = operadorGeneral.EQUAL;
cdlCondicion.operadorLogico = operador;
cdlCondicion.valorDerecho = intValor;
return cdlCondicion;
}
/// <summary>
/// Devuelve la condicion de busqueda por pk
/// </summary>
/// <param name="p_intPK"></param>
/// <param name="p_nombreTabla"></param>
/// <param name="operador"></param>
protected CondicionDAL buscarPorPadre(Nullable<int> p_intPKPadre, Tablas p_nombreTabla, operadorLogico logOp, operadorGeneral genOp)
{
CondicionDAL cdlCondicion = new CondicionDAL();
cdlCondicion.valorIzquierdo = Concepto.PADRE.ToString() + p_nombreTabla.ToString().ToUpper();
cdlCondicion.operadorGeneral = genOp;
cdlCondicion.operadorLogico = logOp;
cdlCondicion.valorDerecho = p_intPKPadre;
return cdlCondicion;
}
/// <summary>
/// Devuelve la condición de busqueda por prefijo
/// </summary>
/// <param name="p_strPrefijo"></param>
/// <param name="p_nombreTabla"></param>
/// <param name="operador"></param>
/// <returns></returns>
protected CondicionDAL buscarPorCodigo(string p_strCodigo, Tablas p_nombreTabla, operadorLogico logOp, operadorGeneral genOp)
{
CondicionDAL cdlCondicion = new CondicionDAL();
cdlCondicion.valorIzquierdo = t_adm_dependencia.CODIGOACCESO.ToString() + p_nombreTabla.ToString().ToUpper();
cdlCondicion.operadorGeneral = genOp;
cdlCondicion.operadorLogico = logOp;
cdlCondicion.valorDerecho = p_strCodigo;
return cdlCondicion;
}
/// <summary>
/// Metodo que se utiliza para construir una condicion de los registro que están o no Activos
/// </summary>
/// <param name="p_blnActivo"></param>
/// <param name="operador"></param>
/// <returns></returns>
protected CondicionDAL buscarPorActivo(Nullable<bool> p_blnActivo, Tablas p_nombreTabla, operadorLogico operador)
{
int intValor = 0;
//Se utiliza para hacer la conversión cuando el valor es booleano
if (p_blnActivo == true)
intValor = 1;
else
intValor = 0;
CondicionDAL cdlCondicion = new CondicionDAL();
cdlCondicion.valorIzquierdo = Concepto.ACTIVO.ToString() + p_nombreTabla.ToString().ToUpper();
cdlCondicion.operadorGeneral = operadorGeneral.EQUAL;
cdlCondicion.operadorLogico = operador;
cdlCondicion.valorDerecho = intValor;
return cdlCondicion;
}
/// <summary>
///
/// </summary>
/// <param name="p_nombreTabla"></param>
/// <param name="p_dteFechaInicio"></param>
/// <param name="p_dteFechaFinal"></param>
/// <param name="operador"></param>
/// <returns></returns>
public ArrayList buscarPorFechas(Tablas p_nombreTabla, DateTime p_dteFechaInicio, DateTime p_dteFechaFinal, operadorLogico operador)
{
ArrayList arlCondiciones = new ArrayList();
CondicionDAL cdlCondicion = new CondicionDAL();
cdlCondicion.valorIzquierdo = Concepto.FECHA.ToString() + p_nombreTabla.ToString();
cdlCondicion.operadorGeneral = operadorGeneral.BIGGEREQUALTHAN;
cdlCondicion.operadorLogico = operador;
cdlCondicion.valorDerecho = p_dteFechaInicio;
arlCondiciones.Add(cdlCondicion);
cdlCondicion = new CondicionDAL();
cdlCondicion.valorIzquierdo = Concepto.FECHA.ToString() + p_nombreTabla.ToString();
cdlCondicion.operadorGeneral = operadorGeneral.SMALLEREQUALTHAN;
cdlCondicion.operadorLogico = operador;
cdlCondicion.valorDerecho = p_dteFechaFinal;
arlCondiciones.Add(cdlCondicion);
return arlCondiciones;
}
protected CondicionDAL buscarPorColumna(string p_strValor, string p_strColumna, operadorLogico operador)
{
CondicionDAL cdlCondicion = new CondicionDAL();
cdlCondicion.valorIzquierdo = p_strColumna.ToUpper();
cdlCondicion.operadorGeneral = operadorGeneral.EQUAL;
cdlCondicion.operadorLogico = operador;
cdlCondicion.valorDerecho = p_strValor;
return cdlCondicion;
}
#endregion
}
}