TFS_ANTIGUO/AYA.FROPI/FOPI/webforms/FOR/wfrFinanciamiento.aspx.cs
2019-06-24 04:03:12 +00:00

1479 lines
No EOL
59 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*===========================================================================================================================
* 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
}