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

487 lines
No EOL
22 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: wfrEvaluacion.aspx
*
* Explicación de los contenidos del archivo
*===========================================================================================================================
* HISTORIAL
*
* PERSONA DIA – MES - AÑO DESCRIPCIÓN
* Esteban Gutierrez Rapso 18 – 22 - 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;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using AyABL;
using AyADAL;
using AyABL.RCS;
using AyABL.EVP;
using AyABL.AGP;
using AyABL.ADM;
public partial class webforms_FOR_wfrEvaluacion : 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);
}
catch (Exception ex)
{
MensajeError("Error en R0M1", ex);
}
}
#endregion
#region Variables (R1)
ProyectoBL objProyectoBL;
AnalisisAmbientalBL objAnalisisAmbientalBL;
AnalisisRiesgoBL objAnalisisRiesgoBL;
EvaluacionCostosBL objEvaluacionCostosBL;
EvaluacionFinancieraBL objEvaluacionFinancieraBL;
EvaluacionSocialBL objEvaluacionSocialBL;
#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;
}
mostrarDatos();
}
ScriptManager.RegisterStartupScript(Page, typeof(Page), "Check", "validarEstado()", true);
}
catch (Exception ex)
{
MensajeError("Error en R2M0", ex);
}
}
#endregion
#region Eventos Controles Web (R3)
protected void btnEliminar_Click(object sender, EventArgs e) //M0
{
try
{
if (EliminarDatos())
{
MensajeInformativo("El registro fue eliminado exitosamente");
}
else
{
MensajeError("El registro no fue eliminado, tiene datos relacionados.", null);
}
}
catch (Exception ex)
{
MensajeError("Error en R3M0", ex);
}
}
protected void btnGuardar_Click(object sender, EventArgs e) //M1
{
try
{
if (GuardarDatos())
{
MensajeInformativo("El registro fue almacenado exitosamente");
}
else
{
MensajeError("El registro no fue almacenado, verifique", null);
}
}
catch (Exception ex)
{
MensajeError("Error en R3M1", ex);
}
}
protected void btnAnterior_Click(object sender, EventArgs e) //M2
{
try
{
Response.Redirect("wfrProyectos.aspx");
}
catch (Exception ex)
{
MensajeError("Error en R3M2", ex);
}
}
#endregion
#region Metodos Personalizados (R4)
private void limpiarCampos() //M0
{
//Limpia Analisis Ambiental
chkVAP.Checked = false;
txtFechaAprobacion.Value = string.Empty;
txtInicioVAP.Value = string.Empty;
txtFinVAP.Value = string.Empty;
txtPorcentajeMitigacion.Value = string.Empty;
//Limpia Analisis Riesgo
chkAnalisisRiesgo.Checked = false;
txtPorcentaje.Value = string.Empty;
txtNumeroPlano.Value = string.Empty;
//Limpia Evaluacion Financiera
txtTREMA.Value = string.Empty;
txtVAN.Value = string.Empty;
txtTIR.Value = string.Empty;
txtRBC.Value = string.Empty;
//Limpia Evaluacion Costos
txtTSD.Value = string.Empty;
txtVAC.Value = string.Empty;
txtCAE.Value = string.Empty;
//Limpia Evaluacion Social
txtTSDE.Value = string.Empty;
txtVANE.Value = string.Empty;
txtTIRE.Value = string.Empty;
txtRBCE.Value = string.Empty;
txtRCE.Value = string.Empty;
}
#endregion
#region Metodos Controles a Datos (R5)
private bool GuardarDatos() //M0
{
bool blnEjecutado = false;
try
{
string strModo = ViewState["Modo"].ToString();
objEvaluacionCostosBL = new EvaluacionCostosBL();
objEvaluacionCostosBL.objEvaluacionCostosEL.TSD = txtTSD.Value;
objEvaluacionCostosBL.objEvaluacionCostosEL.VAC = txtVAC.Value;
objEvaluacionCostosBL.objEvaluacionCostosEL.CAE = txtCAE.Value;
objEvaluacionCostosBL.objEvaluacionCostosEL.Proyecto = Convert.ToInt32(Session["PKPROYECTO"]);
objAnalisisAmbientalBL = new AnalisisAmbientalBL();
objAnalisisAmbientalBL.objAnalisisAmbientalEL.Viabilidad = chkVAP.Checked;
objAnalisisAmbientalBL.objAnalisisAmbientalEL.FechaAprobacion = txtFechaAprobacion.Value != "" ? Convert.ToDateTime(txtFechaAprobacion.Value) : Convert.ToDateTime("01/01/1900");
objAnalisisAmbientalBL.objAnalisisAmbientalEL.VAPInicio = txtInicioVAP.Value != "" ? Convert.ToDateTime(txtInicioVAP.Value) : Convert.ToDateTime("01/01/1900");
objAnalisisAmbientalBL.objAnalisisAmbientalEL.VAPFin = txtFinVAP.Value != "" ? Convert.ToDateTime(txtFinVAP.Value) : Convert.ToDateTime("01/01/1900");
objAnalisisAmbientalBL.objAnalisisAmbientalEL.PorcentajeMitigacion = txtPorcentajeMitigacion.Value;
objAnalisisAmbientalBL.objAnalisisAmbientalEL.Proyecto = Convert.ToInt32(Session["PKPROYECTO"]);
objAnalisisRiesgoBL = new AnalisisRiesgoBL();
objAnalisisRiesgoBL.objAnalisisRiesgoEL.AnalisisRiesgo = chkAnalisisRiesgo.Checked;
objAnalisisRiesgoBL.objAnalisisRiesgoEL.PorcentajeReduccion = txtPorcentaje.Value;
objAnalisisRiesgoBL.objAnalisisRiesgoEL.NumeroPlano = txtNumeroPlano.Value;
objAnalisisRiesgoBL.objAnalisisRiesgoEL.Proyecto = Convert.ToInt32(Session["PKPROYECTO"]);
objEvaluacionFinancieraBL = new EvaluacionFinancieraBL();
objEvaluacionFinancieraBL.objEvaluacionFinancieraEL.TREMA = txtTREMA.Value;
objEvaluacionFinancieraBL.objEvaluacionFinancieraEL.VANE = txtVAN.Value;
objEvaluacionFinancieraBL.objEvaluacionFinancieraEL.TIRE = txtTIR.Value;
objEvaluacionFinancieraBL.objEvaluacionFinancieraEL.RBC = txtRBC.Value;
objEvaluacionFinancieraBL.objEvaluacionFinancieraEL.Proyecto = Convert.ToInt32(Session["PKPROYECTO"]);
objEvaluacionSocialBL = new EvaluacionSocialBL();
objEvaluacionSocialBL.objEvaluacionSocialEL.VANE = txtVANE.Value;
objEvaluacionSocialBL.objEvaluacionSocialEL.TIRE = txtTIRE.Value;
objEvaluacionSocialBL.objEvaluacionSocialEL.RCE = txtRBCE.Value;
objEvaluacionSocialBL.objEvaluacionSocialEL.TSD = txtTSDE.Value;
objEvaluacionSocialBL.objEvaluacionSocialEL.RBC = txtRCE.Value;
objEvaluacionSocialBL.objEvaluacionSocialEL.Proyecto = Convert.ToInt32(Session["PKPROYECTO"]);
if (strModo == "Nuevo")
{
if (objEvaluacionCostosBL.insertarEvaluacionCostos())
{
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.INSERT.ToString(),
MensajesBitacora.IngresarRegistro + ": Se ha ingresado el registro " + txtTSD.Value + ", " + txtVAC.Value + ", " + txtCAE.Value
+ ", " + txtProyecto.Text + ", Evaluación Costos ",
"wfrEvaluacion.aspx");
}
if (objAnalisisAmbientalBL.insertarAnalisisAmbiental() != 0) ;
{
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.INSERT.ToString(),
MensajesBitacora.IngresarRegistro + ": Se ha ingresado el registro " + chkVAP.Checked + ", " + txtInicioVAP.Value + ", " + txtFinVAP.Value + ", " + txtPorcentajeMitigacion.Value
+ ", " + txtProyecto.Text + ", " + txtFechaAprobacion.Value + ", Evaluación Análisis Ambiental ",
"wfrEvaluacion.aspx");
}
if (objAnalisisRiesgoBL.insertarAnalisisRiesgo())
{
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.INSERT.ToString(),
MensajesBitacora.IngresarRegistro + ": Se ha ingresado el registro " + chkAnalisisRiesgo.Checked + ", " + txtPorcentaje.Value + ", " + txtNumeroPlano.Value
+ ", " + txtProyecto.Text + ", Evaluación Análisis Riesgo ",
"wfrEvaluacion.aspx");
}
if (objEvaluacionFinancieraBL.insertarEvaluacionFinanciera())
{
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.INSERT.ToString(),
MensajesBitacora.IngresarRegistro + ": Se ha ingresado el registro " + txtTREMA.Value + ", " + txtVANE.Value + ", " + txtTIRE.Value
+ ", " + txtRBC.Value + ", " + txtProyecto.Text + ", Evaluación Financiera ",
"wfrEvaluacion.aspx");
}
if (objEvaluacionSocialBL.insertarEvaluacionSocial())
{
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.INSERT.ToString(),
MensajesBitacora.IngresarRegistro + ": Se ha ingresado el registro " + txtVANE.Value + ", " + txtTIRE.Value + ", " + txtRBCE.Value
+ ", " + txtTSDE.Value + ", " + txtRCE.Value + ", " + txtProyecto.Text + ", Evaluación Social ",
"wfrEvaluacion.aspx");
}
blnEjecutado = true;
ViewState["Modo"] = "Modifica";
}
else if (strModo == "Modifica")
{
if (objEvaluacionCostosBL.actualizarEvaluacionCostos())
{
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.UPDATE.ToString(),
MensajesBitacora.ModificarRegistro + ": Se ha modificado el registro " + txtTSD.Value + ", " + txtVAC.Value + ", " + txtCAE.Value
+ ", " + txtProyecto.Text + ", Evaluación Costos ",
"wfrEvaluacion.aspx");
}
if (objAnalisisAmbientalBL.actualizarAnalisisAmbiental())
{
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.UPDATE.ToString(),
MensajesBitacora.ModificarRegistro + ": Se ha modificado el registro " + chkVAP.Checked + ", " + txtInicioVAP.Value + ", " + txtFinVAP.Value + ", " + txtPorcentajeMitigacion.Value
+ ", " + txtProyecto.Text + ", " + txtFechaAprobacion.Value + ", Evaluación Análisis Ambiental ",
"wfrEvaluacion.aspx");
}
if (objAnalisisRiesgoBL.actualizarAnalisisRiesgo())
{
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.UPDATE.ToString(),
MensajesBitacora.ModificarRegistro + ": Se ha modificado el registro " + chkAnalisisRiesgo.Checked + ", " + txtPorcentaje.Value + ", " + txtNumeroPlano.Value
+ ", " + txtProyecto.Text + ", Evaluación Análisis Riesgo ",
"wfrEvaluacion.aspx");
}
if (objEvaluacionFinancieraBL.actualizarEvaluacionFinanciera())
{
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.UPDATE.ToString(),
MensajesBitacora.ModificarRegistro + ": Se ha modificado el registro " + txtTREMA.Value + ", " + txtVANE.Value + ", " + txtTIRE.Value
+ ", " + txtRBC.Value + ", " + txtProyecto.Text + ", Evaluación Financiera ",
"wfrEvaluacion.aspx");
}
if (objEvaluacionSocialBL.actualizarEvaluacionSocial())
{
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.UPDATE.ToString(),
MensajesBitacora.ModificarRegistro + ": Se ha modificado el registro " + txtVANE.Value + ", " + txtTIRE.Value + ", " + txtRBCE.Value
+ ", " + txtTSDE.Value + ", " + txtRCE.Value + ", " + txtProyecto.Text + ", Evaluación Social ",
"wfrEvaluacion.aspx");
}
blnEjecutado = true;
}
}
catch (Exception ex)
{
blnEjecutado = false;
throw ex;
General.ReportarError(ex, Session["LOGIN"].ToString());
}
return blnEjecutado;
}
private bool EliminarDatos() //M1
{
bool ejecutado = false;
try
{
//Evaluación Costos
objEvaluacionCostosBL = new EvaluacionCostosBL();
objEvaluacionCostosBL.objEvaluacionCostosEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
//Evaluación Financiera
objEvaluacionFinancieraBL = new EvaluacionFinancieraBL();
objEvaluacionFinancieraBL.objEvaluacionFinancieraEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
//Evaluación Social
objEvaluacionSocialBL = new EvaluacionSocialBL();
objEvaluacionSocialBL.objEvaluacionSocialEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
//Análisis Riesgo
objAnalisisRiesgoBL = new AnalisisRiesgoBL();
objAnalisisRiesgoBL.objAnalisisRiesgoEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
//Análisis Ambiental
objAnalisisAmbientalBL = new AnalisisAmbientalBL();
objAnalisisAmbientalBL.objAnalisisAmbientalEL.Proyecto = Int32.Parse(Session["PKPROYECTO"].ToString());
if (objEvaluacionCostosBL.actualizaEstadoEvaluacionCostos() && objEvaluacionFinancieraBL.actualizaEstadoEvaluacionFinanciera() &&
objEvaluacionSocialBL.actualizaEstadoEvaluacionSocial() && objAnalisisRiesgoBL.actualizaEstadoAnalisisRiesgo() &&
objAnalisisAmbientalBL.actualizaEstadoAnalisisAmbiental())
{
ejecutado = true;
MensajeInformativo("El Proyecto se eliminó correctamente");
}
else
{
MensajeError("No se han podido eliminar algunos datos de evaluación.", null);
}
}
catch (Exception ex)
{
MensajeError("Error en R5M1", ex);
General.ReportarError(ex, Session["LOGIN"].ToString());
}
return ejecutado;
}
#endregion
#region Metodos Datos a Controles (R6)
private void mostrarDatos() //M0
{
try
{
limpiarCampos();
DataSet ds = new DataSet();
objAnalisisAmbientalBL = new AnalisisAmbientalBL();
objAnalisisAmbientalBL.objAnalisisAmbientalEL.Proyecto = Convert.ToInt32(Session["PKPROYECTO"]);
ds = objAnalisisAmbientalBL.getAnalisisAmbiental();
if (ds.Tables[0].Rows.Count != 0)
{
ViewState["Modo"] = "Modifica";
//Carga de Analisis Ambiental
chkVAP.Checked = bool.Parse(ds.Tables[0].Rows[0]["VIABILIDADANALISISAMBIENTAL"].ToString());
//Si la viabilidad ambiental está aprobada debe mostrar la fecha, de lo contrario no deberá mostrarse.
if (chkVAP.Checked == true)
txtFechaAprobacion.Value = Convert.ToDateTime(ds.Tables[0].Rows[0]["FECHAAPROBACIONANALISISAMBIENTAL"].ToString()).Date.ToString("dd/MM/yyyy") == "01/01/1900" ? string.Empty : Convert.ToDateTime(ds.Tables[0].Rows[0]["FECHAAPROBACIONANALISISAMBIENTAL"].ToString()).Date.ToString("dd/MM/yyyy");
else
txtFechaAprobacion.Value = string.Empty;
txtInicioVAP.Value = Convert.ToDateTime(ds.Tables[0].Rows[0]["VAPINICIOANALISISAMBIENTAL"].ToString()).Date.ToString("dd/MM/yyyy") == "01/01/1900" ? string.Empty : Convert.ToDateTime(ds.Tables[0].Rows[0]["VAPINICIOANALISISAMBIENTAL"].ToString()).Date.ToString("dd/MM/yyyy");
txtFinVAP.Value = Convert.ToDateTime(ds.Tables[0].Rows[0]["VAPFINALANALISISAMBIENTAL"].ToString()).Date.ToString("dd/MM/yyyy") == "01/01/1900" ? string.Empty : Convert.ToDateTime(ds.Tables[0].Rows[0]["VAPFINALANALISISAMBIENTAL"].ToString()).Date.ToString("dd/MM/yyyy");
txtPorcentajeMitigacion.Value = ds.Tables[0].Rows[0]["PORCENTAJEMITIGACIONANALISISAMBIENTAL"].ToString();
//Carga de Analisis Riesgo
chkAnalisisRiesgo.Checked = bool.Parse(ds.Tables[0].Rows[0]["ANALISISRIESGO"].ToString());
txtPorcentaje.Value = ds.Tables[0].Rows[0]["PORCENTAJEREDUCCIONANALISISRIESGO"].ToString();
txtNumeroPlano.Value = ds.Tables[0].Rows[0]["NUMEROPLANOANALISISRIESGO"].ToString();
//Carga de Evaluacion Financiera
txtTREMA.Value = ds.Tables[0].Rows[0]["TREMAEVALUACIONFINANCIERA"].ToString();
txtVAN.Value = ds.Tables[0].Rows[0]["VANEEVALUACIONFINANCIERA"].ToString();
txtTIR.Value = ds.Tables[0].Rows[0]["TIREEVALUACIONFINANCIERA"].ToString();
txtRBC.Value = ds.Tables[0].Rows[0]["RBCEVALUACIONFINANCIERA"].ToString();
//Carga de Evaluacion Costos
txtTSD.Value = ds.Tables[0].Rows[0]["TSDEVALUACIONCOSTOS"].ToString();
txtVAC.Value = ds.Tables[0].Rows[0]["VACEVALUACIONCOSTOS"].ToString();
txtCAE.Value = ds.Tables[0].Rows[0]["CAEEVALUACIONCOSTOS"].ToString();
//Carga de Evaluacion Social
txtTSDE.Value = ds.Tables[0].Rows[0]["TSDEVALUACIONSOCIAL"].ToString();
txtVANE.Value = ds.Tables[0].Rows[0]["VANEEVALUACIONSOCIAL"].ToString();
txtTIRE.Value = ds.Tables[0].Rows[0]["TIREEVALUACIONSOCIAL"].ToString();
txtRBCE.Value = ds.Tables[0].Rows[0]["RBCEVALUACIONSOCIAL"].ToString();
txtRCE.Value = ds.Tables[0].Rows[0]["RCEEVALUACIONSOCIAL"].ToString();
}
else if (ds.Tables[0].Rows.Count == 0)
ViewState["Modo"] = "Nuevo";
}
catch (Exception ex)
{
MensajeError("Error en R6M0", ex);
General.ReportarError(ex, Session["LOGIN"].ToString());
}
}
#endregion
}