using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Data.Common; using AyAEL.FNP; using AyADAL; namespace AyABL.FNP { public class FinanciamientoBL : AyABL { #region Constructores public FinanciamientoBL() { objFinanciamientoEL = new FinanciamientoEL(); this.NombreTabla = Modulos.t_fnp_.ToString() + Tablas.financiamiento.ToString(); this.NombreConeccionBD = BASESDEDATOS.FOPI.ToString(); } #endregion #region Atributos public FinanciamientoEL objFinanciamientoEL { get; set; } #endregion #region Metodos /// /// Inluye los datos del Financiamiento /// /// public int insertarFinanciamiento() { int intPK = 0; this.CamposTabla = t_fnp_financiamiento.ANIO.ToString() + Tablas.financiamiento.ToString().ToUpper() + ", " + t_fnp_financiamiento.MONTO.ToString() + Tablas.financiamiento.ToString().ToUpper() + ", " + t_fnp_financiamiento.TIPO.ToString() + Tablas.financiamiento.ToString().ToUpper() + ", " + t_fnp_financiamiento.TIPORECURSO.ToString() + Tablas.financiamiento.ToString().ToUpper() + ", " + Constraints.FK.ToString() + Tablas.recurso.ToString().ToUpper() + ", " + Constraints.FK.ToString() + Tablas.proyecto.ToString().ToUpper(); this.ValoresCampos = new object[]{objFinanciamientoEL.Anio, objFinanciamientoEL.Monto, objFinanciamientoEL.TipoFinanciamiento, objFinanciamientoEL.TipoRecurso, objFinanciamientoEL.Recurso, objFinanciamientoEL.Proyecto }; intPK = baseDAL.Insertar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD); return intPK; } /// /// Actualiza el dato del Financiamiento /// public bool actualizarFinanciamiento() { ArrayList arlCondiciones = new ArrayList(); bool blnEjecutado = false; if (objFinanciamientoEL.PK != 0) { arlCondiciones.Add(this.buscarPorPK(objFinanciamientoEL.PK, Tablas.financiamiento, operadorLogico.AND)); } this.CamposTabla = t_fnp_financiamiento.ANIO.ToString() + Tablas.financiamiento.ToString().ToUpper() + ", " + t_fnp_financiamiento.MONTO.ToString() + Tablas.financiamiento.ToString().ToUpper() + ", " + t_fnp_financiamiento.TIPO.ToString() + Tablas.financiamiento.ToString().ToUpper() + ", " + t_fnp_financiamiento.TIPORECURSO.ToString() + Tablas.financiamiento.ToString().ToUpper() + ", " + Constraints.FK.ToString() + Tablas.recurso.ToString().ToUpper() + ", " + Constraints.FK.ToString() + Tablas.proyecto.ToString().ToUpper(); this.ValoresCampos = new object[]{objFinanciamientoEL.Anio, objFinanciamientoEL.Monto, objFinanciamientoEL.TipoFinanciamiento, objFinanciamientoEL.TipoRecurso, objFinanciamientoEL.Recurso, objFinanciamientoEL.Proyecto }; baseDAL.Actualizar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, arlCondiciones); blnEjecutado = true; return blnEjecutado; } /// /// Actualiza el estado del Financiamiento /// public bool actualizaEstadoFinanciamiento() { ArrayList arlCondiciones = new ArrayList(); bool blnEjecutado = false; if (objFinanciamientoEL.PK != 0) { arlCondiciones.Add(this.buscarPorPK(objFinanciamientoEL.PK, Tablas.financiamiento, operadorLogico.AND)); } this.CamposTabla = Concepto.ASTATE.ToString() + Tablas.financiamiento.ToString(); this.ValoresCampos = new object[] { objFinanciamientoEL.ASTATE }; baseDAL.Actualizar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, arlCondiciones); blnEjecutado = true; return blnEjecutado; } /// /// Lista los Financiamientoes /// /// public DataSet getFinanciamiento() { DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SqlClient"); DbParameter[] dbpParametros = new DbParameter[3]; for (int i = 0; i < dbpParametros.Length; i++) { dbpParametros[i] = factory.CreateParameter(); } //Parametros Tipo Financiamiento dbpParametros[0].ParameterName = "@P_TIPOFINANCIAMIENTO"; dbpParametros[0].Value = objFinanciamientoEL.TipoFinanciamiento; dbpParametros[0].DbType = DbType.String; //Parametros Tipo Recurso dbpParametros[1].ParameterName = "@P_TIPORECURSO"; dbpParametros[1].Value = objFinanciamientoEL.TipoRecurso; dbpParametros[1].DbType = DbType.String; //Parametros PK Proyecto dbpParametros[2].ParameterName = "@P_PKPROYECTO"; dbpParametros[2].Value = objFinanciamientoEL.Proyecto; dbpParametros[2].DbType = DbType.String; DataSet dsFinanciamiento = baseDAL.dsProcedimientoAlmacenado(Procedimiento.PA_FINANCIAMIENTOPIVOT.ToString(), dbpParametros, NombreConeccionBD); return dsFinanciamiento; } public DataSet getTotalFinanciamiento() { DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SqlClient"); DbParameter[] dbpParametros = new DbParameter[1]; for (int i = 0; i < dbpParametros.Length; i++) { dbpParametros[i] = factory.CreateParameter(); } //Parametros PK Proyecto dbpParametros[0].ParameterName = "@P_PKPROYECTO"; dbpParametros[0].Value = objFinanciamientoEL.Proyecto; dbpParametros[0].DbType = DbType.String; DataSet dsFinanciamiento = baseDAL.dsProcedimientoAlmacenado(Procedimiento.PA_TOTALESFINANCIAMIENTO.ToString(), dbpParametros, NombreConeccionBD); return dsFinanciamiento; } public DataSet getDetalle() { ArrayList arlCondiciones = new ArrayList(); if (this.objFinanciamientoEL.PK > 0) { arlCondiciones.Add(buscarPorPK(objFinanciamientoEL.PK, Tablas.financiamiento, operadorLogico.AND)); } if (this.objFinanciamientoEL.Proyecto != 0) { arlCondiciones.Add(buscarPorFK(objFinanciamientoEL.Proyecto, Tablas.proyecto, operadorLogico.AND)); } NombreTabla = Vistas.v_detallefinanciamiento.ToString(); DataSet dsFinanciamiento = baseDAL.EjecutarConsulta(this.NombreTabla, this.CamposTabla, this.NombreConeccionBD, arlCondiciones, null, " ORDER BY ANIOFINANCIAMIENTO, PKRECURSO "); return dsFinanciamiento; } #endregion #region Condiciones de Busqueda protected CondicionDAL buscarPorTipoFinanciamiento(Nullable 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; } #endregion } }