/*=========================================================================================================================== * 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) /// /// Activa el evento del boton guardar.1 /// /// /// 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) /// /// guarda y modifica registros en la tabla. /// /// 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 }