/*=========================================================================================================================== * Instituto Costarricense de Acueductos y Alcantarillados. - 2015 * Administración de la Seguridad * Nombre de la Pantalla: frwBusquedaSolicitud.aspx * * Explicación de los contenidos del archivo *=========================================================================================================================== * HISTORIAL * * PERSONA DIA – MES - AÑO DESCRIPCIÓN * Esteban Gutierrez Rapso 20 – 04 - 2015 Se inicia con el diseño de la pagina * ………………………………………………………… * ………………………………………………………… *=========================================================================================================================== * Derechos Reservados (C) 2015 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.Data; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using AyABL; using AyABL.AUT.Autenticacion; using AyABL.APL; using AyADAL; using System.Configuration; using AyABL.RCS; using AyABL.Tran; using AyABL.Usuario; using System.Globalization; public partial class Forms_Trans_frwPausarTramiteSolicitud : 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); grvListaPausarTramiteSolicitud.Columns[0].ItemStyle.Width = 25; grvListaPausarTramiteSolicitud.Columns[1].ItemStyle.Width = 25; grvListaPausarTramiteSolicitud.Columns[2].ItemStyle.Width = 50; Javascript.CheckAllGridViewItems(Page); } catch (Exception ex) { MensajeError("Error en R0M1", ex); } } #endregion #region Variables (R1) pausarTramiteBL objPausarTramiteSolicitudBL; solicitudBL objSolicitudBL; UsuarioBL objUsuarioBL; GridView grvListaPausaTramiteTemp; string strNumSolicitudTMP = "0"; #region variables del estandar string strPagina = string.Empty; string strScript = string.Empty; #endregion #endregion #region Eventos Formulario (R2) protected void Page_Load(object sender, EventArgs e) //M0 { try { ScriptManager.GetCurrent(Page).RegisterPostBackControl(btnGuardar); //ScriptManager.GetCurrent(Page).RegisterPostBackControl(btnAgregaInsAlc); if (Session["SOLICITUD"] != null && !Session["SOLICITUD"].ToString().Contains("-TMP")) { strNumSolicitudTMP = Session["SOLICITUD"].ToString(); lblNumSolicitud.Text = strNumSolicitudTMP; if ((!IsPostBack) && (Session.Count > 0)) { Session["Pagina"] = ""; mostrarFilaTabla(1); obtenerPausaSolicitudSolicitud(strNumSolicitudTMP); } } else { ClientScript.RegisterStartupScript(this.GetType(), "Error", ""); } } catch (Exception ex) { MensajeError("Error en R2M0", ex); } } #endregion #region Eventos Controles Web (R3) protected void btnGuardarDeBaja_Click(object sender, EventArgs e) //M1 { try { int pkRegistro = GuardarDatosPausarTramite(); mostrarFilaTabla(1); MensajeInformativo(AyABL.BASESDEDATOS.ADS + "Interfaz: " + MensajesAplicacion.GuardadoExitoso.ToString()); } catch (Exception ex) { MensajeError("Error en R3M6", ex); } } protected void grvListaPausarTramiteSolicitud_RowCommand(object sender, GridViewCommandEventArgs e) //M2 { try { if (e.CommandName == "borrar") { int i = Convert.ToInt32(e.CommandArgument); GridViewRow selectedRow = grvListaPausarTramiteSolicitud.Rows[i]; int nPk = int.Parse(selectedRow.Cells[1].Text); if (removerPausaSolicitud(nPk)) obtenerPausaSolicitudSolicitud(strNumSolicitudTMP); GuardarEventoBitacora( Session["LOGIN"].ToString(), AccionBitacora.INSERT.ToString(), MensajesBitacora.EliminarRegistro + ": Se ha eliminado el registro de pausa de la solicitud " + selectedRow.Cells[2].Text, "frwPausarTramiteSolicitud.aspx", Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"]) ); } } catch (Exception ex) { MensajeError("Error en R3M2", ex); } } #endregion #region Metodos Personalizados (R4) /// /// Oculta las filas que lo requieran /// /// private void mostrarFilaTabla(int p_intFila) //M0 { try { divDatosSuperiores.Visible = true; } catch (Exception ex) { throw ex; } } /// /// Metodo que se utiliza para remover el role asignado al usuario /// /// private bool removerPausaSolicitud(int p_nPk) //M3 { bool blnValorRetornado = false; try { objPausarTramiteSolicitudBL = new pausarTramiteBL(); objPausarTramiteSolicitudBL.objpausarTramiteEL.PK = p_nPk; objPausarTramiteSolicitudBL.eliminarpausaSolicitud(); blnValorRetornado = true; } catch (Exception ex) { throw ex; } return blnValorRetornado; } #endregion #region Metodos Controles a Datos (R5) /// /// guarda y modifica registros en la tabla. /// /// private int GuardarDatosPausarTramite() //M0 { int nValorRetornado = 0; try { string strModo = ViewState["MODO"].ToString(); objPausarTramiteSolicitudBL = new pausarTramiteBL(); objPausarTramiteSolicitudBL.objpausarTramiteEL.FKNUMSOLICITUD = strNumSolicitudTMP; objPausarTramiteSolicitudBL.objpausarTramiteEL.USUARIO = Session["LOGIN"].ToString(); objPausarTramiteSolicitudBL.objpausarTramiteEL.JUSTIFICACION = txtJustificacion.Text; if (strModo == "Nuevo") { objPausarTramiteSolicitudBL.objpausarTramiteEL.FECHAINICIO = DateTime.Now; objPausarTramiteSolicitudBL.objpausarTramiteEL.ESTADO = true; nValorRetornado = objPausarTramiteSolicitudBL.insertarPausaSolicitud(); GuardarEventoBitacora( Session["LOGIN"].ToString(), AccionBitacora.INSERT.ToString(), MensajesBitacora.IngresarRegistro + ": Se ha pausado la solicitud " + strNumSolicitudTMP.Trim(), "frwPausarTramiteSolicitud.aspx", Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"]) ); } if (strModo == "Modificar") { objPausarTramiteSolicitudBL.objpausarTramiteEL.PK = int.Parse(lblID.Text); objPausarTramiteSolicitudBL.objpausarTramiteEL.FECHAFIN = DateTime.Now; objPausarTramiteSolicitudBL.objpausarTramiteEL.ESTADO = false; nValorRetornado = objPausarTramiteSolicitudBL.modificarpausaSolicitud(); GuardarEventoBitacora( Session["LOGIN"].ToString(), AccionBitacora.INSERT.ToString(), MensajesBitacora.IngresarRegistro + ": Se da continuidad a la solicitud " + strNumSolicitudTMP.Trim(), "frwPausarTramiteSolicitud.aspx", Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"]) ); } //else //{ // objPausarTramiteSolicitudBL.eliminarpausaSolicitud(); // GuardarEventoBitacora( // Session["LOGIN"].ToString(), // AccionBitacora.INSERT.ToString(), // MensajesBitacora.IngresarRegistro + ": Se ha eliminado la pausa de la solicitud " + strNumSolicitudTMP.Trim(), // "frwPausarTramiteSolicitud.aspx", // Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"]) // ); //} obtenerPausaSolicitudSolicitud(strNumSolicitudTMP); } catch (Exception ex) { throw ex; } return nValorRetornado; } #endregion #region Metodos Datos a Controles (R6) /// /// LLena el listado de roles de usuario /// private void obtenerPausaSolicitudSolicitud(string strNumSolicitud) //M3 { try { //Instancia el objeto objPausarTramiteSolicitudBL = new pausarTramiteBL(); objUsuarioBL = new UsuarioBL(); bool blPausado = false; //Asigna un valor al atributo de referencia del objeto objPausarTramiteSolicitudBL.objpausarTramiteEL.FKNUMSOLICITUD = strNumSolicitud; //Carga en un dataset la información DataSet ds = objPausarTramiteSolicitudBL.listarPausarTramiteSolicitud(); if (ds.Tables.Count > 0) { DataSet ds2 = objUsuarioBL.dsListaUsuarios(null); DataSet dsResult = null; DataTable dtUsuarios = new DataTable(); dtUsuarios.Columns.Add("PKPAUSARTRAMITESOLICITUD"); dtUsuarios.Columns.Add("FKNUMSOLICITUDCLIENTESOLICITUD"); dtUsuarios.Columns.Add("FECHAINICIOPAUSARTRAMITESOLICITUD", System.Type.GetType("System.DateTime")); dtUsuarios.Columns.Add("FECHAFINPAUSARTRAMITESOLICITUD", System.Type.GetType("System.DateTime")); dtUsuarios.Columns.Add("USUARIOPAUSARTRAMITESOLICITUD"); dtUsuarios.Columns.Add("JUSTIFICACIONPAUSARTRAMITESOLICITUD"); if (ds.Tables[0].Rows.Count != 0) { foreach (DataRow row in ds.Tables[0].Rows) { foreach (DataRow rowUsuario in ds2.Tables[0].Rows) { if (row[4].ToString() == rowUsuario[1].ToString()) { DataRow rowFinal = dtUsuarios.NewRow(); rowFinal["PKPAUSARTRAMITESOLICITUD"] = row[0].ToString(); string strUsuario = rowUsuario[12].ToString().ToLower(); rowFinal["USUARIOPAUSARTRAMITESOLICITUD"] = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(strUsuario); //rowFinal["USUARIOPAUSARTRAMITESOLICITUD"] = rowUsuario[12].ToString();//nombre completo rowFinal["FKNUMSOLICITUDCLIENTESOLICITUD"] = row[1].ToString(); rowFinal["FECHAINICIOPAUSARTRAMITESOLICITUD"] = row[2]; rowFinal["FECHAFINPAUSARTRAMITESOLICITUD"] = row[3]; rowFinal["JUSTIFICACIONPAUSARTRAMITESOLICITUD"] = row[5].ToString(); dtUsuarios.Rows.Add(rowFinal); } } } } //if (dtInspectores.Rows.Count != 0) { dsResult = new DataSet(); dsResult.Merge(dtUsuarios); grvListaPausarTramiteSolicitud.DataSource = dsResult; grvListaPausarTramiteSolicitud.DataBind(); General.detalleGridView(dsResult, grvListaPausarTramiteSolicitud, null); } foreach (DataRow row in ds.Tables[0].Rows) { if ((bool)(row["ESTADOPAUSARTRAMITESOLICITUD"]) == true) { blPausado = true; ViewState["MODO"] = "Modificar"; btnGuardar.Text = "Continuar"; lblID.Text = row["PKPAUSARTRAMITESOLICITUD"].ToString(); lblFecha.Text = row["FECHAINICIOPAUSARTRAMITESOLICITUD"].ToString(); lblResponsable.Text = row["USUARIOPAUSARTRAMITESOLICITUD"].ToString(); txtJustificacion.Text = row["JUSTIFICACIONPAUSARTRAMITESOLICITUD"].ToString(); objUsuarioBL.objUsuarioEL.Login = row["USUARIOPAUSARTRAMITESOLICITUD"].ToString(); DataSet dsUsuario = objUsuarioBL.dsLogueo(objUsuarioBL.objUsuarioEL); if (dsUsuario.Tables[0].Rows.Count != 0) { string strSolicitante = dsUsuario.Tables[0].Rows[1]["NOMBRECOMPLETO"].ToString().ToLower(); lblResponsable.Text = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(strSolicitante); } } } } if (blPausado == false) { ViewState["MODO"] = "Nuevo"; btnGuardar.Text = "Pausar"; lblID.Text = "----"; lblFecha.Text = DateTime.Now.ToShortDateString(); lblResponsable.Text = Session["NOMBREEMPLEADO"].ToString(); txtJustificacion.Text = ""; objUsuarioBL.objUsuarioEL.Login = Session["LOGIN"].ToString(); DataSet dsUsuario = objUsuarioBL.dsLogueo(objUsuarioBL.objUsuarioEL); if (dsUsuario.Tables[0].Rows.Count != 0) { string strSolicitante = dsUsuario.Tables[0].Rows[1]["NOMBRECOMPLETO"].ToString().ToLower(); lblResponsable.Text = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(strSolicitante); } } } catch (Exception ex) { throw ex; } } #endregion }