using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using AyAEL.PPP;
using AyADAL;
namespace AyABL.PPP
{
public class DistribucionPartidaBL : AyABL
{
#region Constructores
public DistribucionPartidaBL()
{
objDistribucionPartidaEL = new DistribucionPartidaEL();
this.NombreTabla = Modulos.t_ppp_.ToString() + Tablas.distribucionpartida.ToString();
this.NombreConeccionBD = BASESDEDATOS.FOPI.ToString();
}
#endregion
#region Atributos
public DistribucionPartidaEL objDistribucionPartidaEL { get; set; }
#endregion
#region Metodos
///
/// Inluye los datos del DistribucionPartida
///
///
public bool insertarDistribucionPartida()
{
bool blnEjecutado = false;
this.CamposTabla = Concepto.ANIO.ToString() + Tablas.distribucionpartida.ToString().ToUpper() + ", " +
Concepto.MONTO.ToString() + Tablas.distribucionpartida.ToString().ToUpper() + ", " +
Constraints.FK.ToString() + Tablas.partidapresupuestaria.ToString().ToUpper() + ", " +
Constraints.FK.ToString() + Tablas.proyecto.ToString().ToUpper();
this.ValoresCampos = new object[]{objDistribucionPartidaEL.Anio,
objDistribucionPartidaEL.Monto,
objDistribucionPartidaEL.PartidaPresupuestaria,
objDistribucionPartidaEL.Proyecto
};
baseDAL.Insertar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD);
blnEjecutado = true;
return blnEjecutado;
}
///
/// Actualiza el dato del DistribucionPartida
///
public bool actualizarDistribucionPartida()
{
ArrayList arlCondiciones = new ArrayList();
bool blnEjecutado = false;
if (objDistribucionPartidaEL.PK != 0)
{
arlCondiciones.Add(this.buscarPorPK(objDistribucionPartidaEL.PK, Tablas.distribucionpartida, operadorLogico.AND));
}
this.CamposTabla = Concepto.ANIO.ToString() + Tablas.distribucionpartida.ToString().ToUpper() + ", " +
Concepto.MONTO.ToString() + Tablas.distribucionpartida.ToString().ToUpper() + ", " +
Constraints.FK.ToString() + Tablas.partidapresupuestaria.ToString().ToUpper() + ", " +
Constraints.FK.ToString() + Tablas.proyecto.ToString().ToUpper();
this.ValoresCampos = new object[]{objDistribucionPartidaEL.Anio,
objDistribucionPartidaEL.Monto,
objDistribucionPartidaEL.PartidaPresupuestaria,
objDistribucionPartidaEL.Proyecto
};
baseDAL.Actualizar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, arlCondiciones);
blnEjecutado = true;
return blnEjecutado;
}
///
/// Actualiza el estado del DistribucionPartida
///
public bool actualizaEstadoDistribucionPartida()
{
ArrayList arlCondiciones = new ArrayList();
bool blnEjecutado = false;
if (objDistribucionPartidaEL.PK != 0)
{
arlCondiciones.Add(this.buscarPorPK(objDistribucionPartidaEL.PK, Tablas.distribucionpartida, operadorLogico.AND));
}
this.CamposTabla = Concepto.ASTATE.ToString() + Tablas.distribucionpartida.ToString();
this.ValoresCampos = new object[] { objDistribucionPartidaEL.ASTATE };
baseDAL.Actualizar(this.NombreTabla, this.CamposTabla, this.ValoresCampos, this.NombreConeccionBD, arlCondiciones);
blnEjecutado = true;
return blnEjecutado;
}
///
/// Lista la distribucion de partidas en forma tabular
///
///
public DataSet getDistribucionPartida()
{
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 = objDistribucionPartidaEL.Proyecto;
dbpParametros[0].DbType = DbType.String;
DataSet dsPartidas = baseDAL.dsProcedimientoAlmacenado(Procedimiento.PA_PARTIDASPIVOT.ToString(), dbpParametros, NombreConeccionBD);
return dsPartidas;
}
public DataSet getTotalPartida()
{
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 = objDistribucionPartidaEL.Proyecto;
dbpParametros[0].DbType = DbType.String;
DataSet dsPartidas = baseDAL.dsProcedimientoAlmacenado(Procedimiento.PA_TOTALESPARTIDAS.ToString(), dbpParametros, NombreConeccionBD);
return dsPartidas;
}
///
/// Lista la distribucion de partidas en detalladamente
///
///
public DataSet getDetalle()
{
ArrayList arlCondiciones = new ArrayList();
if (this.objDistribucionPartidaEL.PK != 0)
{
arlCondiciones.Add(buscarPorPK(objDistribucionPartidaEL.PK, Tablas.distribucionpartida, operadorLogico.AND));
}
if (this.objDistribucionPartidaEL.Proyecto != 0)
{
arlCondiciones.Add(buscarPorFK(objDistribucionPartidaEL.Proyecto, Tablas.proyecto, operadorLogico.AND));
}
NombreTabla = Vistas.v_detalledistribucionpartida.ToString();
DataSet dsPartidas = baseDAL.EjecutarConsulta(this.NombreTabla, this.CamposTabla, this.NombreConeccionBD, arlCondiciones, null, " ORDER BY INDICEPARTIDAPRESUPUESTARIA, ANIODISTRIBUCIONPARTIDA");
return dsPartidas;
}
#endregion
#region Condiciones de Busqueda
#endregion
}
}