271 lines
11 KiB
C#
271 lines
11 KiB
C#
|
|
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
|
|||
|
|
}
|
|||
|
|
}
|