TFS_ANTIGUO/AYA.FROPI/FOPI/webforms/FOR/wfrFinanciamiento.aspx.cs

1479 lines
59 KiB
C#
Raw Normal View History

/*===========================================================================================================================
* Instituto Costarricense de Acueductos y Alcantarillados. - 2019
* Formularios para Proyectos de Inversión
* Nombre de la Pantalla: wfrFinanciamiento.aspx
*
* Explicación de los contenidos del archivo
*===========================================================================================================================
* HISTORIAL
*
* PERSONA DIA – MES - AÑO DESCRIPCIÓN
* Esteban Gutierrez Rapso 17 – 02 - 2019 Se inicia con el diseño de la pagina
* …………………………………………………………
* …………………………………………………………
*===========================================================================================================================
* Derechos Reservados (C) 2019 AyA.
* ESTE CÓDIGO ES PROVEÍDO “TAL CUAL ES” SIN GARANTÍA ALGUNA
* DE NINGÚN TIPO, SEA IMPLICITA O EXPLICITA.
* NO SE PERMITE SU REPRODUCCIÓN PARCIAL O TOTAL, NI SU COMERCIALIZACIÓN
*===========================================================================================================================
*/
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using AyABL;
using AyADAL;
using AyABL.RCS;
using AyABL.ADM;
using AyABL.AGP;
using AyABL.FNP;
using System.Web.UI.HtmlControls;
using AyABL.PPP;
public partial class webforms_FOR_wfrFinanciamiento : General
{
#region Inicializar Formulario (R0)
override protected void OnInit(EventArgs e) //M0
{
try
{
base.OnInit(e);
InicializarFormulario();
}
catch (Exception ex)
{
MensajeError("Error en R0M0", ex);
}
}
private void InicializarFormulario() //M1
{
try
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
construirgrvPIRecursosI();
construirgrvPIRecursosE();
construirgrvEIRecursosI();
construirgrvEIRecursosE();
construirGrvListaDetalle();
construirGrvEndeudamiento();
}
catch (Exception ex)
{
MensajeError("Error en R0M1", ex);
}
}
#endregion
#region Variables (R1)
GridView grvPIRecursosITemp, grvPIRecursosETemp, grvEIRecursosITemp, grvEIRecursosETemp, grvListaDetalleTemp, grvTotalFinancimientoTemp, grvListaEndeudamientoTemp;
FuenteFinanciamientoBL objFuenteFinanciamientoBL;
RecursoBL objRecursoBL;
FinanciamientoBL objFinanciamientoBL;
EndeudamientoBL objEndeudamientoBL;
ProyectoBL objProyectoBL;
DistribucionPartidaBL objDistribucionPartidaBL;
#endregion
#region Eventos Formulario (R2)
protected void Page_Load(object sender, EventArgs e) //M0
{
try
{
if ((!IsPostBack) && (Session.Count > 0))
{
objProyectoBL = new ProyectoBL();
objProyectoBL.objProyectoEL.PK = Int32.Parse(Session["PKPROYECTO"].ToString());
DataSet dsProyecto = objProyectoBL.getProyectos();
if (dsProyecto.Tables[0].Rows.Count != 0)
{
txtProyecto.Text = dsProyecto.Tables[0].Rows[0]["NOMBREPROYECTO"].ToString();
txtNumeroBPIP.Text = dsProyecto.Tables[0].Rows[0]["NUMEROBPIPPROYECTO"].ToString();
txtEstadoProyecto.Text = string.IsNullOrEmpty(dsProyecto.Tables[0].Rows[0]["NOMBREESTADO"].ToString()) ? "Sin Asignar" : dsProyecto.Tables[0].Rows[0]["NOMBREESTADO"].ToString();
if (!string.IsNullOrWhiteSpace(txtNumeroBPIP.Text))
txtProyecto.ReadOnly = true;
}
llenarGrvPIRecursosI();
llenarGRVPIRecursosE();
llenarGRVEIRecursosI();
llenarGRVEIRecursosE();
llenarGRVTotalFinanciamiento();
llenarGrvListaDetalle();
llenarDDLTipoRecurso();
llenarDDLRecurso();
llenarDDLAnio();
llenarGrvListaEndeudamiento();
llenarDDLTipoFuente();
llenarDDLFuenteFinanciamiento();
llenarDDLDesembolsoI();
llenarDDLDesembolsoF();
}
ScriptManager.RegisterStartupScript(Page, typeof(Page), "Check", "validarEstado()", true);
}
catch (Exception ex)
{
MensajeError("Error en R2M0", ex);
}
}
#endregion
#region Eventos Controles Web (R3)
protected void btnAnterior_Click(object sender, EventArgs e) //M0
{
try
{
Response.Redirect("wfrProyectos.aspx");
}
catch (Exception ex)
{
MensajeError("Error en R3M0", ex);
}
}
protected void btnVerDetalle_Click(object sender, EventArgs e) //M1
{
try
{
mostrarDetalleyTabulado(1);
}
catch (Exception ex)
{
MensajeError("Error en R3M1", ex);
General.ReportarError(ex, Session["LOGIN"].ToString());
}
}
protected void btnVerTabulado_Click(object sender, EventArgs e) //M2
{
try
{
mostrarDetalleyTabulado(2);
}
catch (Exception ex)
{
MensajeError("Error en R3M2", ex);
General.ReportarError(ex, Session["LOGIN"].ToString());
}
}
protected void btnNuevoFN_Click(object sender, EventArgs e) //M3
{
try
{
ViewState["Modo_Financiamiento"] = "Nuevo";
mostrarFilasDetalle(2);
}
catch (Exception ex)
{
MensajeError("Error en R3M3", ex);
}
}
protected void btnEliminarFN_Click(object sender, EventArgs e) //M4
{
try
{
// recorro el grid
foreach (GridViewRow row in grvListaDetalleTemp.Rows)
{
HtmlInputCheckBox chkTemp = (HtmlInputCheckBox)row.Controls[0].Controls[1];
if (chkTemp != null)
{
// si el registro esta marcado
if (chkTemp.Checked)
{
int intPkEliminar = Convert.ToInt32(row.Cells[2].Text);
eliminarDatosFN(intPkEliminar);
}
}
}
MensajeInformativo("El registro fue eliminado");
llenarGrvListaDetalle();
llenarGrvPIRecursosI();
llenarGRVPIRecursosE();
llenarGRVEIRecursosI();
llenarGRVEIRecursosE();
}
catch (Exception ex)
{
MensajeError("Error en R3M4", ex);
}
}
protected void ddlTipoRecurso_SelectedIndexChanged(object sender, EventArgs e) //M5
{
llenarDDLRecurso();
}
protected void btnGuardarFN_Click(object sender, EventArgs e) //M6
{
try
{
if (GuardarDatosFN())
{
MensajeInformativo("El registro fue almacenado");
}
else
{
MensajeError("El registro no fue almacenado, verifique", null);
}
}
catch (Exception ex)
{
MensajeError("Error en R3M6", ex);
General.ReportarError(ex, Session["LOGIN"].ToString());
}
}
protected void btnAnteriorFN_Click(object sender, EventArgs e) //M7
{
try
{
mostrarFilasDetalle(1);
}
catch (Exception ex)
{
MensajeError("Error en R3M7", ex);
}
}
protected void grvListaDetalle_RowCommand(object sender, GridViewCommandEventArgs e) //M8
{
try
{
if (e.CommandName == "editar")
{
int i = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = grvListaDetalle.Rows[i];
ViewState["PkFinanciamiento"] = Convert.ToInt32(selectedRow.Cells[2].Text);
ViewState["Modo_Financiamiento"] = "Modifica";
mostrarFilasDetalle(2);
mostrarDatosDetalle();
}
}
catch (Exception ex)
{
MensajeError("Error en R3M8", ex);
}
}
protected void grvListaDetalle_PageIndexChanging(object sender, GridViewPageEventArgs e) //M9
{
try
{
grvListaDetalle.PageIndex = e.NewPageIndex;
llenarGrvListaDetalle();
}
catch (Exception ex)
{
MensajeError("Error R3M9", ex);
}
}
protected void btnNuevoED_Click(object sender, EventArgs e) //M10
{
try
{
ViewState["Modo_Endeudamiento"] = "Nuevo";
mostrarFilasEndeudamiento(2);
}
catch (Exception ex)
{
MensajeError("Error en R3M10", ex);
}
}
protected void btnEliminarED_Click(object sender, EventArgs e) //M11
{
try
{
// recorro el grid
foreach (GridViewRow row in grvListaEndeudamientoTemp.Rows)
{
HtmlInputCheckBox chkTemp = (HtmlInputCheckBox)row.Controls[0].Controls[1];
if (chkTemp != null)
{
// si el registro esta marcado
if (chkTemp.Checked)
{
int intPkEliminar = Convert.ToInt32(row.Cells[2].Text);
eliminarDatosED(intPkEliminar);
}
}
}
MensajeInformativo("El registro fue eliminado");
llenarGrvListaEndeudamiento();
}
catch (Exception ex)
{
MensajeError("Error en R3M11", ex);
}
}
protected void btnGuardarED_Click(object sender, EventArgs e) //M12
{
try
{
if (GuardarDatosED())
{
MensajeInformativo("El registro fue almacenado");
}
else
{
MensajeError("El registro no fue almacenado, verifique", null);
}
}
catch (Exception ex)
{
MensajeError("Error en R3M12", ex);
General.ReportarError(ex, Session["LOGIN"].ToString());
}
}
protected void btnAnteriorED_Click(object sender, EventArgs e) //M13
{
try
{
mostrarFilasEndeudamiento(1);
}
catch (Exception ex)
{
MensajeError("Error en R3M13", ex);
}
}
protected void grvListaEndeudamiento_RowCommand(object sender, GridViewCommandEventArgs e) //M14
{
try
{
if (e.CommandName == "editar")
{
int i = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = grvListaEndeudamiento.Rows[i];
ViewState["PkEndeudamiento"] = Convert.ToInt32(selectedRow.Cells[2].Text);
ViewState["Modo_Endeudamiento"] = "Modifica";
mostrarFilasEndeudamiento(2);
mostrarDatosEndeudamiento();
}
}
catch (Exception ex)
{
MensajeError("Error en R3M14", ex);
}
}
protected void grvListaEndeudamiento_PageIndexChanging(object sender, GridViewPageEventArgs e)//M15
{
try
{
grvListaEndeudamiento.PageIndex = e.NewPageIndex;
llenarGrvListaEndeudamiento();
}
catch (Exception ex)
{
MensajeError("Error R3M15", ex);
}
}
protected void ddlTipoFuente_SelectedIndexChanged(object sender, EventArgs e) //M16
{
try
{
llenarDDLFuenteFinanciamiento();
}
catch (Exception ex)
{
MensajeError("Error en R3M16", ex);
}
}
#endregion
#region Metodos Personalizados (R4)
private void mostrarDetalleyTabulado(int p_intFila) //M0
{
try
{
divTabulado.Visible = false;
divDetalle.Visible = false;
switch (p_intFila)
{
case 1:
llenarGrvListaDetalle();
divDetalle.Visible = true;
break;
case 2:
llenarGrvPIRecursosI();
llenarGRVPIRecursosE();
llenarGRVEIRecursosI();
llenarGRVEIRecursosE();
divTabulado.Visible = true;
break;
}
}
catch (Exception ex)
{
MensajeError("Error en R4M0", ex);
}
}
private void construirgrvPIRecursosI() //M1
{
try
{
grvPIRecursosITemp = (GridView)divTabulado.FindControl("grvPIRecursosRI");
}
catch (Exception ex)
{
MensajeError("Error en R4M1", ex);
}
}
private void construirgrvPIRecursosE() //M2
{
try
{
grvPIRecursosETemp = (GridView)divTabulado.FindControl("grvPIRecursosE");
}
catch (Exception ex)
{
MensajeError("Error en R4M2", ex);
}
}
private void construirgrvEIRecursosI() //M3
{
try
{
grvEIRecursosITemp = (GridView)divTabulado.FindControl("grvEIRecursosI");
}
catch (Exception ex)
{
MensajeError("Error en R4M3", ex);
}
}
private void construirgrvEIRecursosE() //M4
{
try
{
grvEIRecursosETemp = (GridView)divTabulado.FindControl("grvEIRecursosE");
}
catch (Exception ex)
{
MensajeError("Error en R4M4", ex);
}
}
private void construirGrvListaDetalle() //M5
{
try
{
grvListaDetalleTemp = (GridView)divDetalle.FindControl("grvListaDetalle");
GridViewBoundField bdfPkFinanciamiento = new GridViewBoundField("PKFINANCIAMIENTO", "PK", false, false, false);
GridViewBoundField bdfTipoFinanciamiento = new GridViewBoundField("TIPOFINANCIAMIENTO", "TIPO FINANCIAMIENTO", true, false, true);
GridViewBoundField bdfTipoRecurso = new GridViewBoundField("TIPORECURSOFINANCIAMIENTO", "TIPO RECURSO", true, false, true);
GridViewBoundField bdfPkRecurso = new GridViewBoundField("PKRECURSO", "PK", true, true, false);
GridViewBoundField bdfRecurso = new GridViewBoundField("NOMBRERECURSO", "RECURSO", true, true, true);
GridViewBoundField bdfAnio = new GridViewBoundField("ANIOFINANCIAMIENTO", "AÑO", true, false, true);
GridViewBoundField bdfMonto = new GridViewBoundField("MONTOFINANCIAMIENTO", "MONTO", true, false, true);
GridViewBoundField bdfFkProyecto = new GridViewBoundField("FKPROYECTO", "PROYECTO", true, false, false);
grvListaDetalleTemp.Columns.Add(bdfPkFinanciamiento);
grvListaDetalleTemp.Columns.Add(bdfTipoFinanciamiento);
grvListaDetalleTemp.Columns.Add(bdfTipoRecurso);
grvListaDetalleTemp.Columns.Add(bdfPkRecurso);
grvListaDetalleTemp.Columns.Add(bdfRecurso);
grvListaDetalleTemp.Columns.Add(bdfAnio);
grvListaDetalleTemp.Columns.Add(bdfMonto);
grvListaDetalleTemp.Columns.Add(bdfFkProyecto);
grvListaDetalleTemp.Columns[0].ItemStyle.Width = 25;
grvListaDetalleTemp.Columns[1].ItemStyle.Width = 25;
grvListaDetalleTemp.Columns[7].ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grvListaDetalleTemp.Columns[8].ItemStyle.HorizontalAlign = HorizontalAlign.Right;
bdfMonto.DataFormatString = "{0:N2}";
}
catch (Exception ex)
{
MensajeError("Error en R4M5", ex);
}
}
private void mostrarFilasDetalle(int p_intFila) //M6
{
try
{
divListado.Visible = false;
divFormularioDatos.Visible = false;
switch (p_intFila)
{
case 1:
llenarGrvListaDetalle();
divListado.Visible = true;
break;
case 2:
limpiarCamposFN();
divFormularioDatos.Visible = true;
break;
}
}
catch (Exception ex)
{
MensajeError("Error en R4M6", ex);
}
}
private void limpiarCamposFN() //M7
{
txtMonto.Text = string.Empty;
}
public static void ddlListaDatos(DataSet p_dsDatos, DropDownList p_ddlListado,
string p_strSeleccion) //M8
{
try
{
p_ddlListado.DataSource = p_dsDatos;
p_ddlListado.DataTextField = p_dsDatos.Tables[0].Columns[2].ColumnName;
p_ddlListado.DataValueField = p_dsDatos.Tables[0].Columns[0].ColumnName;
p_ddlListado.DataBind();
p_ddlListado.Items.Insert(0, new ListItem(p_strSeleccion, "-1"));
}
catch (Exception ex)
{
throw ex;
}
}
private void construirGrvEndeudamiento() //M9
{
try
{
grvListaEndeudamientoTemp = (GridView)divTabulado.FindControl("grvListaEndeudamiento");
GridViewBoundField bdfPkEndeudamiento = new GridViewBoundField("PKENDEUDAMIENTO", "PK", false, false, false);
GridViewBoundField bdfFuenteFinanciamiento = new GridViewBoundField("NOMBREFUENTEFINANCIAMIENTO", "FUENTE", true, false, true);
GridViewBoundField bdfMonto = new GridViewBoundField("MONTOENDEUDAMIENTO", "MONTO", true, false, true);
GridViewBoundField bdfPeriodoGracia = new GridViewBoundField("PERIODOGRACIAENDEUDAMIENTO", "PERIODO GRACIA", true, false, true);
GridViewBoundField bdfPlazo = new GridViewBoundField("PLAZOENDEUDAMIENTO", "PLAZO", true, false, true);
GridViewBoundField bdfDesembolsoInicio = new GridViewBoundField("DESEMBOLSOINICIOENDEUDAMIENTO", "DESEMBOLSO INICIAL", true, false, true);
GridViewBoundField bdfDesembolsoFin = new GridViewBoundField("DESEMBOLSOFINENDEUDAMIENTO", "DESEMBOLSO FINAL", true, false, true);
GridViewBoundField bdfTipoCambio = new GridViewBoundField("TIPOCAMBIOCONTRATOENDEUDAMIENTO", "TIPO CAMBIO", true, false, true);
GridViewBoundField bdfFechaContrato = new GridViewBoundField("FECHACONTRATOENDEUDAMIENTO", "FECHA DE CONTRATO", true, true, true);
GridViewBoundField bdfSituacionActual = new GridViewBoundField("SITUACIONACTUALENDEUDAMIENTO", "SITUACION ACTUAL", true, false, true);
GridViewBoundField bdfTasa = new GridViewBoundField("TASAENDEUDAMIENTO", "TASA INTERES", true, false, true);
grvListaEndeudamientoTemp.Columns.Add(bdfPkEndeudamiento);
grvListaEndeudamientoTemp.Columns.Add(bdfFuenteFinanciamiento);
grvListaEndeudamientoTemp.Columns.Add(bdfMonto);
grvListaEndeudamientoTemp.Columns.Add(bdfPeriodoGracia);
grvListaEndeudamientoTemp.Columns.Add(bdfPlazo);
grvListaEndeudamientoTemp.Columns.Add(bdfDesembolsoInicio);
grvListaEndeudamientoTemp.Columns.Add(bdfDesembolsoFin);
grvListaEndeudamientoTemp.Columns.Add(bdfTipoCambio);
grvListaEndeudamientoTemp.Columns.Add(bdfFechaContrato);
grvListaEndeudamientoTemp.Columns.Add(bdfSituacionActual);
grvListaEndeudamientoTemp.Columns.Add(bdfTasa);
bdfMonto.DataFormatString = "{0:N2}";
bdfTipoCambio.DataFormatString = "{0:N2}";
grvListaEndeudamientoTemp.Columns[0].ItemStyle.Width = 15;
grvListaEndeudamientoTemp.Columns[1].ItemStyle.Width = 25;
grvListaEndeudamientoTemp.Columns[3].ItemStyle.Width = 300;
grvListaEndeudamientoTemp.Columns[4].ItemStyle.Width = 110;
grvListaEndeudamientoTemp.Columns[5].ItemStyle.Width = 50;
grvListaEndeudamientoTemp.Columns[6].ItemStyle.Width = 50;
grvListaEndeudamientoTemp.Columns[7].ItemStyle.Width = 50;
grvListaEndeudamientoTemp.Columns[8].ItemStyle.Width = 50;
grvListaEndeudamientoTemp.Columns[9].ItemStyle.Width = 50;
grvListaEndeudamientoTemp.Columns[10].ItemStyle.Width = 50;
grvListaEndeudamientoTemp.Columns[11].ItemStyle.Width = 50;
grvListaEndeudamientoTemp.Columns[12].ItemStyle.Width = 50;
grvListaEndeudamientoTemp.Columns[4].ItemStyle.HorizontalAlign = HorizontalAlign.Right;
grvListaEndeudamientoTemp.Columns[5].ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grvListaEndeudamientoTemp.Columns[6].ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grvListaEndeudamientoTemp.Columns[7].ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grvListaEndeudamientoTemp.Columns[8].ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grvListaEndeudamientoTemp.Columns[9].ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grvListaEndeudamientoTemp.Columns[10].ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grvListaEndeudamientoTemp.Columns[11].ItemStyle.HorizontalAlign = HorizontalAlign.Center;
grvListaEndeudamientoTemp.Columns[12].ItemStyle.HorizontalAlign = HorizontalAlign.Center;
}
catch (Exception ex)
{
MensajeError("Error en R4M9", ex);
}
}
private void mostrarFilasEndeudamiento(int p_intFila) //M10
{
try
{
divListadoEndeudamiento.Visible = false;
divDatosEndeudamiento.Visible = false;
switch (p_intFila)
{
case 1:
llenarGrvListaEndeudamiento();
divListadoEndeudamiento.Visible = true;
break;
case 2:
limpiarCamposED();
divDatosEndeudamiento.Visible = true;
break;
}
}
catch (Exception ex)
{
MensajeError("Error en R4M10", ex);
}
}
private void limpiarCamposED() //M11
{
llenarDDLTipoFuente();
llenarDDLFuenteFinanciamiento();
txtMontoDeuda.Text = string.Empty;
txtTasa.Text = string.Empty;
txtPeriodoGracia.Text = string.Empty;
txtPlazo.Text = string.Empty;
llenarDDLDesembolsoI();
llenarDDLDesembolsoF();
txtTipoCambio.Text = string.Empty;
txtFechaContrato.Text = string.Empty;
txtSituacionContrato.Text = string.Empty;
}
private void construirgrvTotalFinancimiento() //M12
{
try
{
grvTotalFinancimientoTemp = (GridView)divTabulado.FindControl("grvTotalFinanciamiento");
}
catch (Exception ex)
{
MensajeError("Error en R4M12", ex);
}
}
#endregion
#region Metodos Controles a Datos (R5)
private bool GuardarDatosFN() //M0
{
bool blnEjecutado = false;
try
{
string strModo = ViewState["Modo_Financiamiento"].ToString();
//Valida que los campos están llenos
if (ddlAnio.SelectedItem.Text != string.Empty && txtMonto.Text != string.Empty && ddlTipoFinanciamiento.SelectedItem.Text != string.Empty && ddlTipoRecurso.SelectedItem.Text != string.Empty)
{
objFinanciamientoBL = new FinanciamientoBL();
objFinanciamientoBL.objFinanciamientoEL.Anio = Int32.Parse(ddlAnio.SelectedItem.Text);
objFinanciamientoBL.objFinanciamientoEL.Monto = decimal.Parse(txtMonto.Text);
//Guarda el tipo de financiamiento
if (ddlTipoFinanciamiento.SelectedValue == "1")
objFinanciamientoBL.objFinanciamientoEL.TipoFinanciamiento = "PI"; //PreInversión
else
objFinanciamientoBL.objFinanciamientoEL.TipoFinanciamiento = "EI"; //Ejecución e Inversión
//Guarda el tipo de recurso
if (ddlTipoRecurso.SelectedValue == "1")
objFinanciamientoBL.objFinanciamientoEL.TipoRecurso = "RI"; //Recurso Interno
else
objFinanciamientoBL.objFinanciamientoEL.TipoRecurso = "RE"; //Recurso Externo
objFinanciamientoBL.objFinanciamientoEL.Recurso = Int32.Parse(ddlRecurso.SelectedValue);
objFinanciamientoBL.objFinanciamientoEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
if (strModo == "Nuevo")
{
int intFinancimiento = objFinanciamientoBL.insertarFinanciamiento();
GuardarEventoBitacora(Session["LOGIN"].ToString(),
AccionBitacora.INSERT.ToString(),
MensajesBitacora.IngresarRegistro + ": Año: " + ddlAnio.SelectedItem.Text + ", Monto: " + txtMonto.Text + ", Tipo Recurso: " + ddlTipoRecurso.SelectedItem.Text +
", Recurso: " + ddlRecurso.SelectedItem.Text + ", Proyecto: " + txtProyecto.Text,
"wfrFinancimiento.aspx");
}
else if (strModo == "Modifica")
{
objFinanciamientoBL.objFinanciamientoEL.PK = Int32.Parse(ViewState["PkFinanciamiento"].ToString());
if (objFinanciamientoBL.actualizarFinanciamiento())
{
GuardarEventoBitacora(Session["LOGIN"].ToString(),
AccionBitacora.UPDATE.ToString(),
MensajesBitacora.ModificarRegistro + ": Año: " + ddlAnio.SelectedItem.Text + ", Monto: " + txtMonto.Text + ", Tipo Recurso: " + ddlTipoRecurso.SelectedItem.Text +
", Recurso: " + ddlRecurso.SelectedItem.Text + ", Proyecto: " + txtProyecto.Text,
"wfrFinancimiento.aspx");
llenarGrvListaDetalle();
}
}
llenarGrvListaDetalle();
blnEjecutado = true;
}
else
{
MensajeAdvertencia("Debe suminitrar toda la información");
}
}
catch (Exception ex)
{
blnEjecutado = false;
throw ex;
General.ReportarError(ex, Session["LOGIN"].ToString());
}
return blnEjecutado;
}
private void eliminarDatosFN(int p_intPKFinanciamiento) //M1
{
try
{
objFinanciamientoBL = new FinanciamientoBL();
objFinanciamientoBL.objFinanciamientoEL.PK = p_intPKFinanciamiento;
objFinanciamientoBL.objFinanciamientoEL.ASTATE = false;
objFinanciamientoBL.actualizaEstadoFinanciamiento();
GuardarEventoBitacora(Session["LOGIN"].ToString(),
AccionBitacora.INSERT.ToString(),
MensajesBitacora.EliminarRegistro + " PK: " + p_intPKFinanciamiento + " del Proyecto: " + txtProyecto.Text,
"frwFinancimiento.aspx");
}
catch (Exception ex)
{
MensajeError("Error en R5M1", ex);
General.ReportarError(ex, Session["LOGIN"].ToString());
}
}
private bool GuardarDatosED() //M2
{
bool blnEjecutado = false;
try
{
string strModo = ViewState["Modo_Endeudamiento"].ToString();
if (txtMontoDeuda.Text != string.Empty && txtPeriodoGracia.Text != string.Empty && txtPlazo.Text != string.Empty && ddlDesembolInicio.SelectedItem.Text != "Desembolso Inicial" &&
ddlDesembolFinal.SelectedItem.Text != "Desembolso Final" && txtTipoCambio.Text != string.Empty && txtFechaContrato.Text != string.Empty && txtSituacionContrato.Text != string.Empty &&
txtTasa.Text != string.Empty && ddlFuenteFinanciamiento.SelectedItem.Text != "Fuente de Financiamiento" && ddlTipoFuente.SelectedItem.Text != "Tipo de Fuente")
{
objEndeudamientoBL = new EndeudamientoBL();
objEndeudamientoBL.objEndeudamientoEL.Monto = Decimal.Parse(txtMontoDeuda.Text);
objEndeudamientoBL.objEndeudamientoEL.PeriodoGracia = txtPeriodoGracia.Text;
objEndeudamientoBL.objEndeudamientoEL.Plazo = txtPlazo.Text;
objEndeudamientoBL.objEndeudamientoEL.DesembolsoInicio = Int32.Parse(ddlDesembolInicio.SelectedItem.Text);
objEndeudamientoBL.objEndeudamientoEL.DesembolsoFin = Int32.Parse(ddlDesembolFinal.SelectedItem.Text);
objEndeudamientoBL.objEndeudamientoEL.TipoCambio = Decimal.Parse(txtTipoCambio.Text);
objEndeudamientoBL.objEndeudamientoEL.FechaContrato = DateTime.Parse(txtFechaContrato.Text);
objEndeudamientoBL.objEndeudamientoEL.SituacinActual = txtSituacionContrato.Text;
objEndeudamientoBL.objEndeudamientoEL.Tasa = txtTasa.Text;
objEndeudamientoBL.objEndeudamientoEL.FuenteFinanciamiento = Int32.Parse(ddlFuenteFinanciamiento.SelectedValue);
objEndeudamientoBL.objEndeudamientoEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
if (strModo == "Nuevo")
{
if (objEndeudamientoBL.insertarEndeudamiento())
{
blnEjecutado = true;
GuardarEventoBitacora(Session["LOGIN"].ToString(),
AccionBitacora.INSERT.ToString(),
MensajesBitacora.IngresarRegistro + ": Monto: " + Decimal.Parse(txtMontoDeuda.Text).ToString("###,###,###.#0") + ", " +
"Periodo Gracia: " + txtPeriodoGracia.Text + ", Plazo: " + txtPlazo.Text + ", Desembolzo Inicial: " +
ddlDesembolInicio.SelectedItem.Text + ", Desembolso Final: " + ddlDesembolFinal.SelectedItem.Text +
", Tipo Cambio: " + Decimal.Parse(txtTipoCambio.Text).ToString("###,###,###.#0") + ", Fecha Contrato: " +
txtFechaContrato.Text + ", Situación Actual: " + txtSituacionContrato.Text + ", Tasa: " +
txtTasa.Text + ", Fuente de Financiamiento: " + ddlFuenteFinanciamiento.SelectedItem.Text +
", Proyecto: " + txtProyecto.Text, "wfrFinancimiento.aspx");
}
}
else if (strModo == "Modifica")
{
objEndeudamientoBL.objEndeudamientoEL.PK = Int32.Parse(ViewState["PkEndeudamiento"].ToString());
if (objEndeudamientoBL.actualizarEndeudamiento())
{
blnEjecutado = true;
GuardarEventoBitacora(Session["LOGIN"].ToString(),
AccionBitacora.UPDATE.ToString(),
MensajesBitacora.ModificarRegistro + ": " + "Monto: " + Decimal.Parse(txtMontoDeuda.Text).ToString("###,###,###.#0") + ", Periodo Gracia: " +
txtPeriodoGracia.Text + ", Plazo: " + txtPlazo.Text + ", Desembolzo Inicial: " +
ddlDesembolInicio.SelectedItem.Text + ", Desembolso Final: " + ddlDesembolFinal.SelectedItem.Text +
", Tipo Cambio: " + Decimal.Parse(txtTipoCambio.Text).ToString("###,###,###.#0") + ", Fecha Contrato: " +
txtFechaContrato.Text + ", Situación Actual: " + txtSituacionContrato.Text + ", Tasa: " +
txtTasa.Text + ", Fuente de Financiamiento: " + ddlFuenteFinanciamiento.SelectedItem.Text +
", Proyecto: " + txtProyecto.Text, "wfrFinancimiento.aspx");
}
}
llenarGrvListaEndeudamiento();
}
else
{
MensajeAdvertencia("Debe suminitrar toda la información");
}
}
catch (Exception ex)
{
MensajeError("Error en R5M2", ex);
General.ReportarError(ex, Session["LOGIN"].ToString());
}
return blnEjecutado;
}
private void eliminarDatosED(int p_intPKEndeudamiento) //M3
{
try
{
objEndeudamientoBL = new EndeudamientoBL();
objEndeudamientoBL.objEndeudamientoEL.PK = p_intPKEndeudamiento;
objEndeudamientoBL.objEndeudamientoEL.ASTATE = false;
objEndeudamientoBL.actualizaEstadoEndeudamiento();
GuardarEventoBitacora(Session["LOGIN"].ToString(),
AccionBitacora.DELETE.ToString(),
MensajesBitacora.EliminarRegistro + " PK: " + ": " + p_intPKEndeudamiento +
" del Proyecto: " + txtProyecto.Text, "wfrFinancimiento.aspx");
}
catch (Exception ex)
{
MensajeError("Error en R5M3", ex);
General.ReportarError(ex, Session["LOGIN"].ToString());
}
}
#endregion
#region Metodos Datos a Controles (R6)
private void llenarGrvPIRecursosI() //M0
{
string strTipoFinanciamiento = string.Empty;
string strTipoRecurso = string.Empty;
try
{
//Limpiar el datagrid
detalleGRVDatos(null, grvPIRecursosI);
objFinanciamientoBL = new FinanciamientoBL();
objFinanciamientoBL.objFinanciamientoEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
objFinanciamientoBL.objFinanciamientoEL.TipoFinanciamiento = "PI";
objFinanciamientoBL.objFinanciamientoEL.TipoRecurso = "RI";
DataSet dsRecursos = objFinanciamientoBL.getFinanciamiento();
if (dsRecursos.Tables.Count == 0)
dsRecursos.Tables.Add();
detalleGRVDatos(dsRecursos, grvPIRecursosI);
if (grvPIRecursosI.HeaderRow != null)
{
grvPIRecursosI.HeaderRow.Cells[1].Text = "Recurso Interno";
//Invisiviliza el titulo de la columna de la PK
grvPIRecursosI.HeaderRow.Cells[0].Visible = false;
for (int i = 0; i <= grvPIRecursosI.Rows.Count - 1; ++i)
{
grvPIRecursosI.Rows[i].Cells[0].Visible = false;
}
//Dar formato a las cifras por año
for (int i = 0; i <= grvPIRecursosI.Rows.Count - 1; ++i)
{
for (int j = 2; j <= grvPIRecursosI.Rows[i].Cells.Count - 1; ++j)
{
if (grvPIRecursosI.Rows[i].Cells[j].Text != "0.00")
grvPIRecursosI.Rows[i].Cells[j].Text = Decimal.Parse(grvPIRecursosI.Rows[i].Cells[j].Text).ToString("###,###,###,###.#0");
grvPIRecursosI.Rows[i].Cells[j].HorizontalAlign = HorizontalAlign.Right;
}
}
}
}
catch (Exception ex)
{
MensajeError("Error en R6M0", ex);
General.ReportarError(ex, Session["LOGIN"].ToString());
}
}
private void llenarGRVPIRecursosE() //M1
{
string strTipoFinanciamiento = string.Empty;
string strTipoRecurso = string.Empty;
try
{
//Limpiar el datagrid
//detalleGRVDatos(null, grvPIRecursosE);
objFinanciamientoBL = new FinanciamientoBL();
objFinanciamientoBL.objFinanciamientoEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
objFinanciamientoBL.objFinanciamientoEL.TipoFinanciamiento = "PI";
objFinanciamientoBL.objFinanciamientoEL.TipoRecurso = "RE";
DataSet dsRecursos = objFinanciamientoBL.getFinanciamiento();
if (dsRecursos.Tables.Count == 0)
dsRecursos.Tables.Add();
detalleGRVDatos(dsRecursos, grvPIRecursosE);
if (grvPIRecursosE.HeaderRow != null)
{
grvPIRecursosE.HeaderRow.Cells[1].Text = "Recurso Externo";
//Invisiviliza el titulo de la columna de la PK
grvPIRecursosE.HeaderRow.Cells[0].Visible = false;
//Invisibiliza la columna de PK
for (int i = 0; i <= grvPIRecursosE.Rows.Count - 1; ++i)
{
grvPIRecursosE.Rows[i].Cells[0].Visible = false;
}
//Dar formato a las cifras por año
for (int i = 0; i <= grvPIRecursosE.Rows.Count - 1; ++i)
{
for (int j = 2; j <= grvPIRecursosE.Rows[i].Cells.Count - 1; ++j)
{
if (grvPIRecursosE.Rows[i].Cells[j].Text != "0.00")
grvPIRecursosE.Rows[i].Cells[j].Text = Decimal.Parse(grvPIRecursosE.Rows[i].Cells[j].Text).ToString("###,###,###,###.#0");
grvPIRecursosE.Rows[i].Cells[j].HorizontalAlign = HorizontalAlign.Right;
}
}
}
}
catch (Exception ex)
{
MensajeError("Error en R6M1", ex);
General.ReportarError(ex, Session["LOGIN"].ToString());
}
}
private void llenarGRVEIRecursosI() //M2
{
string strTipoFinanciamiento = string.Empty;
string strTipoRecurso = string.Empty;
try
{
//Limpiar el datagrid
detalleGRVDatos(null, grvEIRecursosI);
objFinanciamientoBL = new FinanciamientoBL();
objFinanciamientoBL.objFinanciamientoEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
objFinanciamientoBL.objFinanciamientoEL.TipoFinanciamiento = "EI";
objFinanciamientoBL.objFinanciamientoEL.TipoRecurso = "RI";
DataSet dsRecursos = objFinanciamientoBL.getFinanciamiento();
if (dsRecursos.Tables.Count == 0)
dsRecursos.Tables.Add();
detalleGRVDatos(dsRecursos, grvEIRecursosI);
if (grvEIRecursosI.HeaderRow != null)
{
grvEIRecursosI.HeaderRow.Cells[1].Text = "Recurso Interno";
//Invisiviliza el titulo de la columna de la PK
grvEIRecursosI.HeaderRow.Cells[0].Visible = false;
//Invisibiliza la columna de PK
for (int i = 0; i <= grvEIRecursosI.Rows.Count - 1; ++i)
{
grvEIRecursosI.Rows[i].Cells[0].Visible = false;
}
//Dar formato a las cifras por año
for (int i = 0; i <= grvEIRecursosI.Rows.Count - 1; ++i)
{
for (int j = 2; j <= grvEIRecursosI.Rows[i].Cells.Count - 1; ++j)
{
if (grvEIRecursosI.Rows[i].Cells[j].Text != "0.00")
grvEIRecursosI.Rows[i].Cells[j].Text = Decimal.Parse(grvEIRecursosI.Rows[i].Cells[j].Text).ToString("###,###,###,###.#0");
grvEIRecursosI.Rows[i].Cells[j].HorizontalAlign = HorizontalAlign.Right;
}
}
}
}
catch (Exception ex)
{
MensajeError("Error en R6M2", ex);
General.ReportarError(ex, Session["LOGIN"].ToString());
}
}
private void llenarGRVEIRecursosE() //M3
{
string strTipoFinanciamiento = string.Empty;
string strTipoRecurso = string.Empty;
try
{
//Limpiar el datagrid
detalleGRVDatos(null, grvEIRecursosE);
objFinanciamientoBL = new FinanciamientoBL();
objFinanciamientoBL.objFinanciamientoEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
objFinanciamientoBL.objFinanciamientoEL.TipoFinanciamiento = "EI";
objFinanciamientoBL.objFinanciamientoEL.TipoRecurso = "RE";
DataSet dsRecursos = objFinanciamientoBL.getFinanciamiento();
if (dsRecursos.Tables.Count == 0)
dsRecursos.Tables.Add();
detalleGRVDatos(dsRecursos, grvEIRecursosE);
if (grvEIRecursosE.HeaderRow != null)
{
grvEIRecursosE.HeaderRow.Cells[1].Text = "Recurso Externo";
//Invisiviliza el titulo de la columna de la PK
grvEIRecursosE.HeaderRow.Cells[0].Visible = false;
//Invisibiliza la columna de PK
for (int i = 0; i <= grvEIRecursosE.Rows.Count - 1; ++i)
{
grvEIRecursosE.Rows[i].Cells[0].Visible = false;
}
//Dar formato a las cifras por año
for (int i = 0; i <= grvEIRecursosE.Rows.Count - 1; ++i)
{
for (int j = 2; j <= grvEIRecursosE.Rows[i].Cells.Count - 1; ++j)
{
if (grvEIRecursosE.Rows[i].Cells[j].Text != "0.00")
grvEIRecursosE.Rows[i].Cells[j].Text = Decimal.Parse(grvEIRecursosE.Rows[i].Cells[j].Text).ToString("###,###,###,###.#0");
grvEIRecursosE.Rows[i].Cells[j].HorizontalAlign = HorizontalAlign.Right;
}
}
}
}
catch (Exception ex)
{
MensajeError("Error en R6M3", ex);
General.ReportarError(ex, Session["LOGIN"].ToString());
}
}
private void llenarGrvListaDetalle() //M4
{
try
{
objFinanciamientoBL = new FinanciamientoBL();
objFinanciamientoBL.objFinanciamientoEL.PK = 0;
objFinanciamientoBL.objFinanciamientoEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
DataSet dsDetalle = objFinanciamientoBL.getDetalle();
detalleGRVDatos(dsDetalle, grvListaDetalle);
}
catch (Exception ex)
{
MensajeError("Error en R6M4", ex);
}
}
private void llenarDDLTipoRecurso() //M5
{
try
{
objRecursoBL = new RecursoBL();
string strTipoRecurso = "Tipo Recurso";
objRecursoBL.objRecursoEL.PK = 0;
objRecursoBL.objRecursoEL.Padre = -1;
objRecursoBL.objRecursoEL.ASTATE = true;
//Carga la información en un dataset
DataSet dsTipoRecurso = objRecursoBL.getRecurso();
ddlListaDatos(dsTipoRecurso, ddlTipoRecurso, strTipoRecurso);
}
catch (Exception ex)
{
MensajeError("Error en R6M5", ex);
}
}
private void llenarDDLRecurso() //M6
{
try
{
objRecursoBL = new RecursoBL();
string strRecurso = "Recurso";
objRecursoBL.objRecursoEL.PK = 0;
objRecursoBL.objRecursoEL.Padre = Int32.Parse(ddlTipoRecurso.SelectedValue); ;
objRecursoBL.objRecursoEL.ASTATE = true;
//Carga la información en un dataset
DataSet dsRecurso = objRecursoBL.getRecurso();
ddlListaDatos(dsRecurso, ddlRecurso, strRecurso);
}
catch (Exception ex)
{
MensajeError("Error en R6M6", ex);
}
}
private void llenarDDLAnio() //M7
{
try
{
ddlAnio.Items.Clear();
ListItem lstAnios = new ListItem("Año");
ddlAnio.Items.Add(lstAnios);
for (int i = DateTime.Now.Year - 7; i <= DateTime.Now.Year + 7; i++)
{
lstAnios = new ListItem(i.ToString());
ddlAnio.Items.Add(lstAnios);
}
}
catch (Exception ex)
{
MensajeError("Error en R6M7", ex);
}
}
private void mostrarDatosDetalle() //M8
{
try
{
objFinanciamientoBL = new FinanciamientoBL();
objFinanciamientoBL.objFinanciamientoEL.PK = Int32.Parse(ViewState["PkFinanciamiento"].ToString());
DataSet dsFinanciamiento = objFinanciamientoBL.getDetalle();
if (dsFinanciamiento.Tables[0].Rows.Count > 0)
{
ddlTipoFinanciamiento.SelectedValue = dsFinanciamiento.Tables[0].Rows[0]["PKTIPOFINANCIAMIENTO"].ToString();
ddlTipoRecurso.SelectedValue = dsFinanciamiento.Tables[0].Rows[0]["PKTIPORECURSOFINANCIAMIENTO"].ToString();
llenarDDLRecurso();
ddlRecurso.SelectedValue = dsFinanciamiento.Tables[0].Rows[0]["PKRECURSO"].ToString();
ddlAnio.SelectedItem.Text = dsFinanciamiento.Tables[0].Rows[0]["ANIOFINANCIAMIENTO"].ToString();
txtMonto.Text = dsFinanciamiento.Tables[0].Rows[0]["MONTOFINANCIAMIENTO"].ToString();
}
}
catch (Exception ex)
{
MensajeError("Error en R6M8", ex);
}
}
private void llenarGrvListaEndeudamiento() //M9
{
try
{
objEndeudamientoBL = new EndeudamientoBL();
objEndeudamientoBL.objEndeudamientoEL.PK = 0;
objEndeudamientoBL.objEndeudamientoEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
DataSet dsEndeudamiento = objEndeudamientoBL.getEndeudamiento();
detalleGRVDatos(dsEndeudamiento, grvListaEndeudamientoTemp);
}
catch (Exception ex)
{
MensajeError("Error en R6M9", ex);
General.ReportarError(ex, Session["LOGIN"].ToString());
}
}
private void mostrarDatosEndeudamiento() //M10
{
try
{
objEndeudamientoBL = new EndeudamientoBL();
objEndeudamientoBL.objEndeudamientoEL.PK = Int32.Parse(ViewState["PkEndeudamiento"].ToString());
objEndeudamientoBL.objEndeudamientoEL.Proyecto = 0;
DataSet dsEndeudamiento = objEndeudamientoBL.getEndeudamiento();
if (dsEndeudamiento.Tables[0].Rows.Count != 0)
{
ddlTipoFuente.SelectedValue = dsEndeudamiento.Tables[0].Rows[0]["PADREFUENTEFINANCIAMIENTO"].ToString();
llenarDDLFuenteFinanciamiento();
ddlFuenteFinanciamiento.SelectedValue = dsEndeudamiento.Tables[0].Rows[0]["FKFUENTEFINANCIAMIENTO"].ToString();
txtMontoDeuda.Text = Decimal.Parse(dsEndeudamiento.Tables[0].Rows[0]["MONTOENDEUDAMIENTO"].ToString()).ToString("###,###,###,###.#0");
txtTasa.Text = dsEndeudamiento.Tables[0].Rows[0]["TASAENDEUDAMIENTO"].ToString();
txtPeriodoGracia.Text = dsEndeudamiento.Tables[0].Rows[0]["PERIODOGRACIAENDEUDAMIENTO"].ToString();
txtPlazo.Text = dsEndeudamiento.Tables[0].Rows[0]["PLAZOENDEUDAMIENTO"].ToString();
ddlDesembolInicio.SelectedItem.Text = dsEndeudamiento.Tables[0].Rows[0]["DESEMBOLSOINICIOENDEUDAMIENTO"].ToString();
ddlDesembolFinal.SelectedItem.Text = dsEndeudamiento.Tables[0].Rows[0]["DESEMBOLSOFINENDEUDAMIENTO"].ToString();
txtTipoCambio.Text = dsEndeudamiento.Tables[0].Rows[0]["TIPOCAMBIOCONTRATOENDEUDAMIENTO"].ToString();
txtFechaContrato.Text = DateTime.Parse(dsEndeudamiento.Tables[0].Rows[0]["FECHACONTRATOENDEUDAMIENTO"].ToString()).ToString("dd/MM/yyyy");
txtSituacionContrato.Text = dsEndeudamiento.Tables[0].Rows[0]["SITUACIONACTUALENDEUDAMIENTO"].ToString();
}
else
{
MensajeInformativo("No se encontró el registro solicitado");
}
}
catch (Exception ex)
{
MensajeError("Error en R6M10" +
"", ex);
}
}
private void llenarDDLFuenteFinanciamiento() //M11
{
try
{
objFuenteFinanciamientoBL = new FuenteFinanciamientoBL();
string strFuente = "Fuente Financiamiento";
objFuenteFinanciamientoBL.objFuenteFinanciamientoEL.Padre = Int32.Parse(ddlTipoFuente.SelectedValue);
objFuenteFinanciamientoBL.objFuenteFinanciamientoEL.PK = 0;
objFuenteFinanciamientoBL.objFuenteFinanciamientoEL.ASTATE = true;
//Carga la información en un dataset
DataSet dsFuente = objFuenteFinanciamientoBL.getFuenteFinanciamiento();
ddlListaDatos(dsFuente, ddlFuenteFinanciamiento, strFuente);
}
catch (Exception ex)
{
MensajeError("Error en R6M11", ex);
}
}
private void llenarDDLTipoFuente() //M12
{
try
{
objFuenteFinanciamientoBL = new FuenteFinanciamientoBL();
string strFuente = "Tipo Fuente";
objFuenteFinanciamientoBL.objFuenteFinanciamientoEL.Padre = -1;
objFuenteFinanciamientoBL.objFuenteFinanciamientoEL.PK = 0;
objFuenteFinanciamientoBL.objFuenteFinanciamientoEL.ASTATE = true;
//Carga la información en un dataset
DataSet dsFuente = objFuenteFinanciamientoBL.getFuenteFinanciamiento();
ddlListaDatos(dsFuente, ddlTipoFuente, strFuente);
}
catch (Exception ex)
{
MensajeError("Error en R6M12", ex);
}
}
private void llenarDDLDesembolsoI() //M13
{
try
{
ddlDesembolInicio.Items.Clear();
ListItem lstAnios = new ListItem("Desembolso Inicial");
ddlDesembolInicio.Items.Add(lstAnios);
for (int i = DateTime.Now.Year - 7; i <= DateTime.Now.Year + 7; i++)
{
lstAnios = new ListItem(i.ToString());
ddlDesembolInicio.Items.Add(lstAnios);
}
}
catch (Exception ex)
{
MensajeError("Error en R6M13", ex);
}
}
private void llenarDDLDesembolsoF() //M14
{
try
{
ddlDesembolFinal.Items.Clear();
ListItem lstAnios = new ListItem("Desembolso Final");
ddlDesembolFinal.Items.Add(lstAnios);
for (int i = DateTime.Now.Year - 7; i <= DateTime.Now.Year + 7; i++)
{
lstAnios = new ListItem(i.ToString());
ddlDesembolFinal.Items.Add(lstAnios);
}
}
catch (Exception ex)
{
MensajeError("Error en R6M14", ex);
}
}
private void llenarGRVTotalFinanciamiento() //M15
{
string strTipoFinanciamiento = string.Empty;
string strTipoRecurso = string.Empty;
try
{
//Limpiar el datagrid
detalleGRVDatos(null, grvTotalFinanciamiento);
objDistribucionPartidaBL = new DistribucionPartidaBL();
objFinanciamientoBL = new FinanciamientoBL();
objFinanciamientoBL.objFinanciamientoEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
objDistribucionPartidaBL.objDistribucionPartidaEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
DataSet dsRecursos = objFinanciamientoBL.getTotalFinanciamiento();
DataSet dsPartidas = objDistribucionPartidaBL.getTotalPartida();
if (dsRecursos.Tables.Count == 0)
dsRecursos.Tables.Add();
detalleGRVDatos(dsRecursos, grvTotalFinanciamiento);
decimal vMontoTotalFinanciamiento = 0M;
decimal vMontoTotalPartidas = 0M;
#region VERIFICAR MONTO PARTIDAS
if (dsPartidas != null || dsPartidas.Tables.Count > 0 || dsPartidas.Tables[0].Rows.Count > 0)
{
for (int i = 1; i <= dsPartidas.Tables[0].Columns.Count - 1; ++i)
{
vMontoTotalPartidas += Convert.ToDecimal(dsPartidas.Tables[0].Rows[0][i].ToString());
}
}
#endregion
if (grvTotalFinanciamiento.HeaderRow != null)
{
grvTotalFinanciamiento.HeaderRow.Cells[0].Text = "";
//Dar formato a las cifras por año
for (int i = 0; i <= grvTotalFinanciamiento.Rows.Count - 1; ++i)
{
for (int j = 1; j <= grvTotalFinanciamiento.Rows[i].Cells.Count - 1; ++j)
{
vMontoTotalFinanciamiento += Convert.ToDecimal(grvTotalFinanciamiento.Rows[i].Cells[j].Text);
if (grvTotalFinanciamiento.Rows[i].Cells[j].Text != "0.00")
grvTotalFinanciamiento.Rows[i].Cells[j].Text = Decimal.Parse(grvTotalFinanciamiento.Rows[i].Cells[j].Text).ToString("###,###,###,###.#0");
grvTotalFinanciamiento.Rows[i].Cells[j].HorizontalAlign = HorizontalAlign.Right;
grvTotalFinanciamiento.FooterRow.Cells[j].BorderStyle = BorderStyle.None;
}
grvTotalFinanciamiento.Rows[i].Font.Bold = true;
}
#region Mostrar Total
if (grvTotalFinanciamiento.Rows.Count > 0)
{
grvTotalFinanciamiento.Rows[0].Cells[0].Text = "TOTAL ANUAL";
}
var vMontosCoinciden = vMontoTotalPartidas == vMontoTotalFinanciamiento;
grvTotalFinanciamiento.FooterRow.Cells[0].Text = "TOTAL GENERAL";
grvTotalFinanciamiento.FooterRow.Cells[0].Font.Bold = true;
grvTotalFinanciamiento.FooterRow.Cells[0].HorizontalAlign = HorizontalAlign.Left;
grvTotalFinanciamiento.FooterRow.Cells[1].Text = vMontoTotalFinanciamiento.ToString("###,###,###,###.#0");
grvTotalFinanciamiento.FooterRow.Cells[1].Font.Bold = true;
grvTotalFinanciamiento.FooterRow.Cells[1].HorizontalAlign = HorizontalAlign.Right;
grvTotalFinanciamiento.FooterRow.Cells[1].BackColor = vMontosCoinciden ? System.Drawing.Color.Green : System.Drawing.Color.IndianRed;
grvTotalFinanciamiento.FooterRow.Cells[1].ForeColor = System.Drawing.Color.White;
grvTotalFinanciamiento.FooterRow.Cells[0].BorderStyle = BorderStyle.Solid;
grvTotalFinanciamiento.FooterRow.Cells[1].BorderStyle = BorderStyle.Solid;
#endregion
}
}
catch (Exception ex)
{
General.ReportarError(ex, Session["LOGIN"].ToString());
MensajeError("Error en R6M15", ex);
}
}
#endregion
}