using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.Common; using AyAEL.AGP; using AyADAL; namespace AyABL.AGP { public class ObjetivoEspecificoBL : AyABL { #region Constructores public ObjetivoEspecificoBL() { objObjetivoEspecificoEL = new ObjetivoEspecificoEL(); this.NombreTabla = Modulos.t_agp_.ToString() + Tablas.objetivoespecifico.ToString(); this.NombreConeccionBD = BASESDEDATOS.FOPI.ToString(); } #endregion #region Atributos public ObjetivoEspecificoEL objObjetivoEspecificoEL { get; set; } #endregion #region Metodos /// /// Inluye los datos del ObjetivoEspecifico /// /// public bool insertarObjetivo() { bool blnEjecutado = false; this.CamposTabla = t_agp_objetivoespecifico.NUMERO.ToString() + Tablas.objetivoespecifico.ToString().ToUpper() + ", " + Concepto.DESCRIPCION.ToString() + Tablas.objetivoespecifico.ToString().ToUpper() + ", " + Constraints.FK.ToString() + Tablas.proyecto.ToString().ToUpper(); this.ValoresCampos = new object[]{objObjetivoEspecificoEL.Numero, objObjetivoEspecificoEL.Descripcion, objObjetivoEspecificoEL.Proyecto }; baseDAL.Insertar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD); blnEjecutado = true; return blnEjecutado; } /// /// Actualiza el dato del ObjetivoEspecifico /// public bool actualizarObjetivo() { ArrayList arlCondiciones = new ArrayList(); bool blnEjecutado = false; //CAmbio a buscar por fk if (objObjetivoEspecificoEL.PK != 0) { arlCondiciones.Add(this.buscarPorPK(objObjetivoEspecificoEL.PK, Tablas.objetivoespecifico, operadorLogico.AND)); } this.CamposTabla = t_agp_objetivoespecifico.NUMERO.ToString() + Tablas.objetivoespecifico.ToString().ToUpper() + ", " + Concepto.DESCRIPCION.ToString() + Tablas.objetivoespecifico.ToString().ToUpper() + ", " + t_agp_objetivoespecifico.CUMPLIDO.ToString() + Tablas.objetivoespecifico.ToString().ToUpper() + ", " + Constraints.FK.ToString() + Tablas.proyecto.ToString().ToUpper(); this.ValoresCampos = new object[]{ objObjetivoEspecificoEL.Numero, objObjetivoEspecificoEL.Descripcion, objObjetivoEspecificoEL.Cumplido, objObjetivoEspecificoEL.Proyecto }; baseDAL.Actualizar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, arlCondiciones); blnEjecutado = true; return blnEjecutado; } /// /// Actualiza el estado del ObjetivoEspecifico /// public bool actualizaEstadoObjetivo() { ArrayList arlCondiciones = new ArrayList(); bool blnEjecutado = false; if (objObjetivoEspecificoEL.PK != 0) { arlCondiciones.Add(this.buscarPorPK(objObjetivoEspecificoEL.PK, Tablas.objetivoespecifico, operadorLogico.AND)); } this.CamposTabla = Concepto.ASTATE.ToString() + Tablas.objetivoespecifico.ToString(); this.ValoresCampos = new object[] { objObjetivoEspecificoEL.ASTATE }; baseDAL.Actualizar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, arlCondiciones); blnEjecutado = true; return blnEjecutado; } /// /// Lista los ObjetivoEspecifico /// /// public DataSet getObjetivoEspecifico() { ArrayList arlCondiciones = new ArrayList(); if (this.objObjetivoEspecificoEL.PK > 0) { arlCondiciones.Add(buscarPorPK(objObjetivoEspecificoEL.PK, Tablas.objetivoespecifico, operadorLogico.AND)); } if (this.objObjetivoEspecificoEL.Proyecto != 0) { arlCondiciones.Add(buscarPorFK(objObjetivoEspecificoEL.Proyecto, Tablas.proyecto, operadorLogico.AND)); } arlCondiciones.Add(buscarPorAstate(true, Tablas.objetivoespecifico, operadorLogico.NONE)); DataSet dsObjetivoEspecifico = baseDAL.EjecutarConsulta(this.NombreTabla, this.CamposTabla, this.NombreConeccionBD, arlCondiciones, null, " ORDER BY NUMEROOBJETIVOESPECIFICO ASC "); return dsObjetivoEspecifico; } public DataSet getObjetivoEspecificoFicha() { ArrayList arlCondiciones = new ArrayList(); arlCondiciones.Add(buscarPorFK(objObjetivoEspecificoEL.Proyecto, Tablas.proyecto, operadorLogico.AND)); arlCondiciones.Add(buscarPorCumplido(objObjetivoEspecificoEL.Cumplido, Tablas.objetivoespecifico, operadorLogico.NONE)); DataSet dsObjetivoEspecifico = baseDAL.EjecutarConsulta(this.NombreTabla, this.CamposTabla, this.NombreConeccionBD, arlCondiciones, null, " ORDER BY NUMEROOBJETIVOESPECIFICO ASC "); return dsObjetivoEspecifico; } #endregion #region Condiciones de Busqueda protected CondicionDAL buscarPorCumplido(Nullable p_blnCumplido, Tablas p_nombreTabla, operadorLogico operador) { int intValor = 0; //Se utiliza para hacer la conversión cuando el valor es booleano if (p_blnCumplido == true) intValor = 1; else intValor = 0; CondicionDAL cdlCondicion = new CondicionDAL(); cdlCondicion.valorIzquierdo = t_agp_objetivoespecifico.CUMPLIDO.ToString() + p_nombreTabla.ToString().ToUpper(); cdlCondicion.operadorGeneral = operadorGeneral.EQUAL; cdlCondicion.operadorLogico = operador; cdlCondicion.valorDerecho = intValor; return cdlCondicion; } #endregion } }