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