478 lines
No EOL
20 KiB
C#
478 lines
No EOL
20 KiB
C#
/*===========================================================================================================================
|
||
* Instituto Costarricense de Acueductos y Alcantarillados. - 2016
|
||
* Formularios para Proyectos de Inversión
|
||
* Nombre de la Pantalla: frwRecurso.aspx
|
||
*
|
||
* Explicación de los contenidos del archivo
|
||
*===========================================================================================================================
|
||
* HISTORIAL
|
||
*
|
||
* PERSONA DIA – MES - AÑO DESCRIPCIÓN
|
||
* Esteban Gutierrez Rapso 07 – 12 - 2016 Se inicia con el diseño de la pagina
|
||
* Pamela Quesada Calderón 16 – 02 - 2017 Se termina con el diseño de la pagina
|
||
* …………………………………………………………
|
||
* …………………………………………………………
|
||
*===========================================================================================================================
|
||
* Derechos Reservados (C) 2016 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.RHP;
|
||
using AyABL.AGP;
|
||
using AyABL.ADM;
|
||
|
||
public partial class webforms_RHP_wfrRecurso : 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;
|
||
RequerimientoRecursoBL objRequerimientoRecursoBL;
|
||
TipoRecursoHumanoBL objTipoRecursoHumanoBL;
|
||
|
||
#endregion
|
||
|
||
#region Eventos Formulario (R2)
|
||
|
||
protected void Page_Load(object sender, EventArgs e) //M0
|
||
{
|
||
try
|
||
{
|
||
if ((!IsPostBack) && (Session.Count > 0))
|
||
{
|
||
llenarDDLProyecto();
|
||
|
||
ComandosxMenu();
|
||
|
||
if (Session["PKPROYECTO"] != null)
|
||
{
|
||
ddlProyecto.SelectedValue = Session["PKPROYECTO"].ToString();
|
||
|
||
ddlProyecto_SelectedIndexChanged(null, null);
|
||
}
|
||
|
||
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MensajeError("Error en R2M0", ex);
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region Eventos Controles Web (R3)
|
||
|
||
/// <summary>
|
||
/// Activa el evento del boton guardar.1
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
|
||
protected void btnGuardar_Click(object sender, EventArgs e) //M0
|
||
{
|
||
try
|
||
{
|
||
if (GuardarDatos())
|
||
{
|
||
MensajeInformativo("El registro fue almacenado exitosamente");
|
||
}
|
||
else
|
||
{
|
||
MensajeError("El registro no fue almacenado, verifique", null);
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MensajeError("Error en R3M0", ex);
|
||
}
|
||
}
|
||
|
||
protected void btnModificar_Click(object sender, EventArgs e) //M1
|
||
{
|
||
try
|
||
{
|
||
if (ModificarDatos())
|
||
{
|
||
MensajeInformativo("El registro fue modificado exitosamente");
|
||
}
|
||
else
|
||
{
|
||
MensajeError("El registro no fue modificado, verifique", null);
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MensajeError("Error en R3M1", ex);
|
||
}
|
||
}
|
||
|
||
protected void btnEliminar_Click(object sender, EventArgs e) //M2
|
||
{
|
||
EliminarDatos();
|
||
llenarDDLProyecto();
|
||
Response.Redirect(Request.RawUrl);
|
||
}
|
||
|
||
protected void ddlProyecto_SelectedIndexChanged(object sender, EventArgs e) //M3
|
||
{
|
||
try
|
||
{
|
||
ViewState["PkProyecto"] = ddlProyecto.SelectedValue;
|
||
|
||
Session["PKPROYECTO"] = ddlProyecto.SelectedValue;
|
||
|
||
//Recarga Datos
|
||
mostrarDatos();
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MensajeError("Error en R3M3", ex);
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region Metodos Personalizados (R4)
|
||
|
||
private void ComandosxMenu() //M0
|
||
{
|
||
try
|
||
{
|
||
DataSet dsComandos = getComandos();
|
||
|
||
if (dsComandos != null)
|
||
{
|
||
foreach (DataRow drTemp in dsComandos.Tables[0].Rows)
|
||
{
|
||
switch (drTemp["NOMBRECOMANDO"].ToString().ToUpper())
|
||
{
|
||
case "NUEVO":
|
||
break;
|
||
case "ELIMINAR":
|
||
btnEliminar.Visible = true;
|
||
break;
|
||
case "MODIFICA":
|
||
//Inicio de variable tipo VIEWSTATE
|
||
ViewState["PUEDEMODIFICAR"] = true;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MensajeError("Error en R4M0", ex);
|
||
}
|
||
}
|
||
|
||
|
||
private void limpiarCampos() //M1
|
||
{
|
||
txtCantidadPAP.Value = string.Empty;
|
||
txtCantidadPE.Value = string.Empty;
|
||
txtCantidadPO.Value = string.Empty;
|
||
txtCantidadCAP.Value = string.Empty;
|
||
txtCantidadCE.Value = string.Empty;
|
||
txtCantidadCO.Value = string.Empty;
|
||
txtCantidadNAP.Value = string.Empty;
|
||
txtCantidadNE.Value = string.Empty;
|
||
txtCantidadNO.Value = string.Empty;
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region Metodos Controles a Datos (R5)
|
||
|
||
/// <summary>
|
||
/// guarda y modifica registros en la tabla.
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
private bool GuardarDatos() //M0
|
||
{
|
||
bool blnEjecutado = false;
|
||
|
||
try
|
||
{
|
||
if (ddlProyecto.SelectedIndex != -1)
|
||
{
|
||
objRequerimientoRecursoBL = new RequerimientoRecursoBL();
|
||
|
||
//Se guardar el recurso de tipo Profesional
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadAP = Convert.ToInt32(txtCantidadPAP.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadECP = Convert.ToInt32(txtCantidadPE.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadPPP = Convert.ToInt32(txtCantidadPO.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.Proyecto = Convert.ToInt32(ViewState["PkProyecto"]);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.TipoRecurso = 1;
|
||
//objRequerimientoRecursoBL.objRequerimientoRecursoEL.PK = Convert.ToInt32(hdfIdReqRec1.Value);
|
||
hdfIdReqRec1.Value = objRequerimientoRecursoBL.insertarRequerimientoRecursoBL().ToString();
|
||
|
||
//Se guardar el recurso de tipo Calificado / Tecnico
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadAP = Convert.ToInt32(txtCantidadCAP.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadECP = Convert.ToInt32(txtCantidadCE.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadPPP = Convert.ToInt32(txtCantidadCO.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.Proyecto = Convert.ToInt32(ViewState["PkProyecto"]);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.TipoRecurso = 2;
|
||
//objRequerimientoRecursoBL.objRequerimientoRecursoEL.PK = Convert.ToInt32(hdfIdReqRec2.Value);
|
||
hdfIdReqRec2.Value = objRequerimientoRecursoBL.insertarRequerimientoRecursoBL().ToString();
|
||
|
||
//Se guardar el recurso de tipo No Calificado
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadAP = Convert.ToInt32(txtCantidadNAP.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadECP = Convert.ToInt32(txtCantidadNE.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadPPP = Convert.ToInt32(txtCantidadNO.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.Proyecto = Convert.ToInt32(ViewState["PkProyecto"]);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.TipoRecurso = 3;
|
||
//objRequerimientoRecursoBL.objRequerimientoRecursoEL.PK = Convert.ToInt32(hdfIdReqRec3.Value);
|
||
hdfIdReqRec3.Value = objRequerimientoRecursoBL.insertarRequerimientoRecursoBL().ToString();
|
||
|
||
blnEjecutado = true;
|
||
|
||
GuardarEventoBitacora(
|
||
Session["LOGIN"].ToString(),
|
||
AccionBitacora.INSERT.ToString(),
|
||
MensajesBitacora.IngresarRegistro + ": Administración Proyecto (Profesional): " + txtCantidadPAP.Value + " Ejecución o Construcción Proyecto (Profesional): " + txtCantidadPE.Value + " Personal Permanente Proyecto (Profesional): " + txtCantidadPO.Value + " Administración Proyecto (Calificado): " + txtCantidadCAP.Value + " Ejecución o Construcción Proyecto (Calificado): " + txtCantidadCE.Value + " Personal Permanente Proyecto (Calificado): " + txtCantidadCO.Value + " Administración Proyecto (No Calificado): " + txtCantidadNAP.Value + " Ejecución o Construcción Proyecto (No Calificado): " + txtCantidadNE.Value + " Personal Permanente Proyecto (No Calificado): " + txtCantidadNO.Value,
|
||
"frwRecurso.aspx");
|
||
|
||
ddlProyecto.SelectedValue = ViewState["PkProyecto"].ToString();
|
||
|
||
btnGuardar.Visible = false;
|
||
btnModificar.Visible = true;
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
blnEjecutado = false;
|
||
throw ex;
|
||
General.ReportarError(ex, Session["LOGIN"].ToString());
|
||
}
|
||
return blnEjecutado;
|
||
}
|
||
|
||
private bool ModificarDatos() //M1
|
||
{
|
||
bool blnEjecutado = false;
|
||
|
||
try
|
||
{
|
||
objRequerimientoRecursoBL = new RequerimientoRecursoBL();
|
||
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadAP = Convert.ToInt32(txtCantidadPAP.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadECP = Convert.ToInt32(txtCantidadPE.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadPPP = Convert.ToInt32(txtCantidadPO.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.Proyecto = Convert.ToInt32(ViewState["PkProyecto"]);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.TipoRecurso = 1;
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.PK = Convert.ToInt32(hdfIdReqRec1.Value);
|
||
|
||
if (!objRequerimientoRecursoBL.actualizarRequerimientoRecursoBL())
|
||
{
|
||
blnEjecutado = false;
|
||
}
|
||
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadAP = Convert.ToInt32(txtCantidadCAP.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadECP = Convert.ToInt32(txtCantidadCE.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadPPP = Convert.ToInt32(txtCantidadCO.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.Proyecto = Convert.ToInt32(ViewState["PkProyecto"]);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.TipoRecurso = 2;
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.PK = Convert.ToInt32(hdfIdReqRec2.Value);
|
||
|
||
if (!objRequerimientoRecursoBL.actualizarRequerimientoRecursoBL())
|
||
{
|
||
blnEjecutado = false;
|
||
}
|
||
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadAP = Convert.ToInt32(txtCantidadNAP.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadECP = Convert.ToInt32(txtCantidadNE.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.CantidadPPP = Convert.ToInt32(txtCantidadNO.Value);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.Proyecto = Convert.ToInt32(ViewState["PkProyecto"]);
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.TipoRecurso = 3;
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.PK = Convert.ToInt32(hdfIdReqRec3.Value);
|
||
|
||
if (objRequerimientoRecursoBL.actualizarRequerimientoRecursoBL())
|
||
{
|
||
blnEjecutado = true;
|
||
|
||
GuardarEventoBitacora(
|
||
Session["LOGIN"].ToString(),
|
||
AccionBitacora.UPDATE.ToString(),
|
||
MensajesBitacora.ModificarRegistro + " Administración Proyecto (Profesional): " + txtCantidadPAP.Value + " Ejecución o Construcción Proyecto (Profesional): " + txtCantidadPE.Value + " Personal Permanente Proyecto (Profesional): " + txtCantidadPO.Value + " Administración Proyecto (Calificado): " + txtCantidadCAP.Value + " Ejecución o Construcción Proyecto (Calificado): " + txtCantidadCE.Value + " Personal Permanente Proyecto (Calificado): " + txtCantidadCO.Value + " Administración Proyecto (No Calificado): " + txtCantidadNAP.Value + " Ejecución o Construcción Proyecto (No Calificado): " + txtCantidadNE.Value + " Personal Permanente Proyecto (No Calificado): " + txtCantidadNO.Value,
|
||
"frwRecurso.aspx");
|
||
}
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
blnEjecutado = false;
|
||
throw ex;
|
||
General.ReportarError(ex, Session["LOGIN"].ToString());
|
||
}
|
||
return blnEjecutado;
|
||
}
|
||
|
||
private void EliminarDatos() //M2
|
||
{
|
||
try
|
||
{
|
||
if (ddlProyecto.SelectedValue != "-1")
|
||
{
|
||
objRequerimientoRecursoBL = new RequerimientoRecursoBL();
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.FK = Int32.Parse(Session["PKPROYECTO"].ToString());
|
||
if (objRequerimientoRecursoBL.actualizaEstadoRequerimientoRecursoBL())
|
||
{
|
||
MensajeInformativo("El Proyecto se eliminó correctamente");
|
||
}
|
||
else
|
||
{
|
||
MensajeError("No se ha podido eliminar el proyecto", null);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
MensajeAdvertencia("Debe seleccionar antes un proyecto.");
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MensajeError("Error en R5M2", ex);
|
||
General.ReportarError(ex, Session["LOGIN"].ToString());
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region Metodos Datos a Controles (R6)
|
||
|
||
|
||
private void mostrarDatos() //M0
|
||
{
|
||
try
|
||
{
|
||
limpiarCampos();
|
||
|
||
objRequerimientoRecursoBL = new RequerimientoRecursoBL();
|
||
objRequerimientoRecursoBL.objRequerimientoRecursoEL.Proyecto = Convert.ToInt32(Session["PKPROYECTO"].ToString());
|
||
DataSet dsRequerimientoRecurso = new DataSet();
|
||
if (dsRequerimientoRecurso.Tables.Count > 0)
|
||
{
|
||
dsRequerimientoRecurso.Tables.Clear();
|
||
}
|
||
|
||
dsRequerimientoRecurso = objRequerimientoRecursoBL.getRequerimientoRecursoBL();
|
||
|
||
if (dsRequerimientoRecurso.Tables.Count > 0)
|
||
{
|
||
if (dsRequerimientoRecurso.Tables[0].Rows.Count > 0)
|
||
{
|
||
hdfIdReqRec1.Value = dsRequerimientoRecurso.Tables[0].Rows[0]["PKREQUERIMIENTORECURSO"].ToString();
|
||
txtCantidadPAP.Value = dsRequerimientoRecurso.Tables[0].Rows[0]["CANTIDADAPREQUERIMIENTORECURSO"].ToString();
|
||
txtCantidadPE.Value = dsRequerimientoRecurso.Tables[0].Rows[0]["CANTIDADECPREQUERIMIENTORECURSO"].ToString();
|
||
txtCantidadPO.Value = dsRequerimientoRecurso.Tables[0].Rows[0]["CANTIDADPPPREQUERIMIENTORECURSO"].ToString();
|
||
|
||
hdfIdReqRec2.Value = dsRequerimientoRecurso.Tables[0].Rows[1]["PKREQUERIMIENTORECURSO"].ToString();
|
||
txtCantidadCAP.Value = dsRequerimientoRecurso.Tables[0].Rows[1]["CANTIDADAPREQUERIMIENTORECURSO"].ToString();
|
||
txtCantidadCE.Value = dsRequerimientoRecurso.Tables[0].Rows[1]["CANTIDADECPREQUERIMIENTORECURSO"].ToString();
|
||
txtCantidadCO.Value = dsRequerimientoRecurso.Tables[0].Rows[1]["CANTIDADPPPREQUERIMIENTORECURSO"].ToString();
|
||
|
||
hdfIdReqRec3.Value = dsRequerimientoRecurso.Tables[0].Rows[2]["PKREQUERIMIENTORECURSO"].ToString();
|
||
txtCantidadNAP.Value = dsRequerimientoRecurso.Tables[0].Rows[2]["CANTIDADAPREQUERIMIENTORECURSO"].ToString();
|
||
txtCantidadNE.Value = dsRequerimientoRecurso.Tables[0].Rows[2]["CANTIDADECPREQUERIMIENTORECURSO"].ToString();
|
||
txtCantidadNO.Value = dsRequerimientoRecurso.Tables[0].Rows[2]["CANTIDADPPPREQUERIMIENTORECURSO"].ToString();
|
||
|
||
//Carga el boton de modificar
|
||
if (bool.Parse(ViewState["PUEDEMODIFICAR"].ToString()) == true)
|
||
{
|
||
btnGuardar.Visible = false;
|
||
btnModificar.Visible = true;
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
btnGuardar.Visible = true;
|
||
btnModificar.Visible = false;
|
||
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MensajeError("Error en R6M0", ex);
|
||
General.ReportarError(ex, Session["LOGIN"].ToString());
|
||
}
|
||
}
|
||
|
||
private void llenarDDLProyecto() //M1
|
||
{
|
||
try
|
||
{
|
||
//Instancia el objeto
|
||
objProyectoBL = new ProyectoBL();
|
||
|
||
objProyectoBL.objProyectoEL.PK = 0;
|
||
objProyectoBL.objProyectoEL.ASTATE = true;
|
||
objProyectoBL.objProyectoEL.CodigoAcceso = Session["CODIGOACCESO"].ToString();
|
||
|
||
//Carga la información en un dataset
|
||
DataSet dsProyecto = objProyectoBL.getProyectos();
|
||
|
||
ddlListaProyectos(dsProyecto, ddlProyecto);
|
||
ddlProyecto.Attributes["style"] = "width: 90%; max-width: 90%";
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MensajeError("Error en R6M1", ex);
|
||
}
|
||
}
|
||
|
||
|
||
|
||
#endregion
|
||
} |