585 lines
No EOL
21 KiB
C#
585 lines
No EOL
21 KiB
C#
/*===========================================================================================================================
|
||
* 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;
|
||
|
||
|
||
|
||
|
||
public partial class Forms_Trans_frwVisitaSolicitud : 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);
|
||
|
||
|
||
|
||
|
||
Javascript.CheckAllGridViewItems(Page);
|
||
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MensajeError("Error en R0M1", ex);
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region Variables (R1)
|
||
visitaSolicitudBL objVisitaSolicitudBL;
|
||
UsuarioBL objUsuarioBL;
|
||
GridView grvListaVisitaSolicitudTemp;
|
||
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(ddlTipoInspeccion);
|
||
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"] = "";
|
||
//construirGridView();
|
||
mostrarFilaTabla(1);
|
||
//ComandosxMenu();
|
||
llenarDDLtipoInspeccion();
|
||
llenarDDLInspector();
|
||
llenarGridVisitaSolicitud(strNumSolicitudTMP);
|
||
|
||
}
|
||
}
|
||
else
|
||
{ ClientScript.RegisterStartupScript(this.GetType(), "Error", "<script>javascript: MensajeError();</script>"); }
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MensajeError("Error en R2M0", ex);
|
||
}
|
||
}
|
||
|
||
|
||
|
||
#endregion
|
||
|
||
#region Eventos Controles Web (R3)
|
||
|
||
|
||
|
||
///<summary>
|
||
///Activar el botón de Refrescar
|
||
///</summary>
|
||
///<param name="sender"></param>
|
||
///<param name="e"></param>
|
||
|
||
protected void btnRefrescar_Click(object sender, System.Web.UI.ImageClickEventArgs e) //M1
|
||
{
|
||
try
|
||
{
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MensajeError("Error en R3M2" + MensajesAplicacion.RefrescarFallido.ToString(), ex);
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// Metodo que se utiliza para borrar el rol del listado de roles
|
||
/// </summary>
|
||
/// <param name="sender"></param>
|
||
/// <param name="e"></param>
|
||
|
||
protected void grvListaVisitaSolicitud_RowCommand(object sender, GridViewCommandEventArgs e) //M5
|
||
{
|
||
try
|
||
{
|
||
if (e.CommandName == "borrar")
|
||
{
|
||
|
||
int i = Convert.ToInt32(e.CommandArgument);
|
||
GridViewRow selectedRow = grvListaVisitaSolicitud.Rows[i];
|
||
int nPk = int.Parse(selectedRow.Cells[1].Text);
|
||
if (removerVisitaSolicitud(nPk))
|
||
llenarGridVisitaSolicitud(Session["SOLICITUD"].ToString());
|
||
|
||
GuardarEventoBitacora(
|
||
Session["LOGIN"].ToString(),
|
||
AccionBitacora.INSERT.ToString(),
|
||
MensajesBitacora.EliminarRegistro + ": Se ha eliminado el proyecto de la solicitud " + selectedRow.Cells[2].Text,
|
||
"frwVisitaSolicitud.aspx",
|
||
Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"])
|
||
);
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MensajeError("Error en R3M5", ex);
|
||
}
|
||
}
|
||
|
||
protected void btnAgregarProyecto_Click(object sender, EventArgs e) //M6
|
||
{
|
||
try
|
||
{
|
||
ViewState["MODO"] = "Nuevo";
|
||
int pkRegistro = GuardarDatosVisitaSolicitud();
|
||
//construirGridView();
|
||
llenarGridVisitaSolicitud(strNumSolicitudTMP);
|
||
|
||
mostrarFilaTabla(1);
|
||
llenarDDLInspector();
|
||
llenarDDLtipoInspeccion();
|
||
MensajeInformativo(AyABL.BASESDEDATOS.ADS + "Interfaz: " + MensajesAplicacion.GuardadoExitoso.ToString());
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
MensajeError("Error en R3M6", ex);
|
||
}
|
||
}
|
||
|
||
protected void ddlInspector_SelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
|
||
}
|
||
|
||
protected void ddlTipoInspeccion_SelectedIndexChanged(object sender, EventArgs e)
|
||
{
|
||
llenarDDLInspector();
|
||
}
|
||
#endregion
|
||
|
||
#region Metodos Personalizados (R4)
|
||
|
||
/// <summary>
|
||
/// Oculta las filas que lo requieran
|
||
/// </summary>
|
||
/// <param name="p_intFila"></param>
|
||
private void mostrarFilaTabla(int p_intFila) //M0
|
||
{
|
||
try
|
||
{
|
||
divDatosSuperiores.Visible = true;
|
||
|
||
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
throw ex;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// Metodo que se utiliza para el despliegue de los botones
|
||
/// </summary>
|
||
//private void ComandosxMenu() //M2
|
||
//{
|
||
// try
|
||
// {
|
||
// //DataSet dsComandos = getComandos();
|
||
|
||
// // if (dsComandos != null)
|
||
// {
|
||
// foreach (DataRow drTemp in dsComandos.Tables[0].Rows)
|
||
// {
|
||
// switch (drTemp["NOMBRECOMANDO"].ToString().ToUpper())
|
||
// {
|
||
// case "NUEVO":
|
||
|
||
// break;
|
||
|
||
// case "MODIFICA":
|
||
// //Inicio de variable tipo VIEWSTATE
|
||
// ViewState["PUEDEMODIFICAR"] = true;
|
||
|
||
// break;
|
||
// }
|
||
// }
|
||
// }
|
||
// }
|
||
// catch (Exception ex)
|
||
// {
|
||
// throw ex;
|
||
// }
|
||
//}
|
||
|
||
/// <summary>
|
||
/// Metodo que se utiliza para remover el role asignado al usuario
|
||
/// </summary>
|
||
/// <param name="p_nPk"></param>
|
||
private bool removerVisitaSolicitud(int p_nPk) //M3
|
||
{
|
||
bool blnValorRetornado = false;
|
||
try
|
||
{
|
||
objVisitaSolicitudBL = new visitaSolicitudBL();
|
||
objVisitaSolicitudBL.objVisitaSolicitudEL.PK = p_nPk;
|
||
|
||
objVisitaSolicitudBL.eliminarVisitaSolicitud();
|
||
blnValorRetornado = true;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
throw ex;
|
||
}
|
||
return blnValorRetornado;
|
||
}
|
||
|
||
/// <summary>
|
||
/// Metodo que se utiliza para contruir el Grid al inicio de la pantalla
|
||
/// </summary>
|
||
private void construirGridView() //M4
|
||
{
|
||
try
|
||
{
|
||
grvListaVisitaSolicitudTemp = (GridView)tdLista.FindControl("grvListaVisitaSolicitud");
|
||
|
||
GridViewBoundField bdfPkUsuarioxDependencia = new GridViewBoundField("PKUSUARIOXDEPENDENCIA", "PK", false, false, false);
|
||
GridViewBoundField bdfNombreCompleto = new GridViewBoundField("NOMBRECOMPLETO", "Inspector", false, false, true);
|
||
GridViewBoundField bdfFkTipoInspeccion = new GridViewBoundField("TIPOTIPOINSPECCION", "Tipo Inspeccion", true, false, true);
|
||
GridViewBoundField bdfFechaEntregado = new GridViewBoundField("FECHAENTREGADOVISITASOLICITUD", "Fecha Entregado", true, true, true);
|
||
GridViewBoundField bdfFechaResuelto = new GridViewBoundField("FECHARESUELTOVISITASOLICITUD", "Fecha Resuelto", true, false, true);
|
||
|
||
|
||
grvListaVisitaSolicitudTemp.Columns.Add(bdfPkUsuarioxDependencia);
|
||
grvListaVisitaSolicitudTemp.Columns.Add(bdfNombreCompleto);
|
||
grvListaVisitaSolicitudTemp.Columns.Add(bdfFkTipoInspeccion);
|
||
grvListaVisitaSolicitudTemp.Columns.Add(bdfFechaEntregado);
|
||
grvListaVisitaSolicitudTemp.Columns.Add(bdfFechaResuelto);
|
||
|
||
|
||
grvListaVisitaSolicitudTemp.Columns[0].ItemStyle.Width = 125;
|
||
grvListaVisitaSolicitudTemp.Columns[1].ItemStyle.Width = 125;
|
||
|
||
//cuwBusquedaList.LlenarCHKLBusqueda(grvListaVisitaSolicitudTemp);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
throw ex;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region Metodos Controles a Datos (R5)
|
||
/// <summary>
|
||
/// guarda y modifica registros en la tabla.
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
private int GuardarDatosVisitaSolicitud() //M0
|
||
{
|
||
int nValorRetornado = 0;
|
||
|
||
try
|
||
{
|
||
string strModo = ViewState["MODO"].ToString();
|
||
if (ddlInspector.SelectedValue != "-1" || ddlTipoInspeccion.SelectedValue != "-1")
|
||
{
|
||
objVisitaSolicitudBL = new visitaSolicitudBL();
|
||
objVisitaSolicitudBL.objVisitaSolicitudEL.FKNUMSOLICITUD = strNumSolicitudTMP;
|
||
if (ddlTipoInspeccion.SelectedValue != "-1")
|
||
objVisitaSolicitudBL.objVisitaSolicitudEL.FKTIPOINSPECTOR = int.Parse(ddlTipoInspeccion.SelectedValue);
|
||
if (ddlInspector.SelectedValue != "-1")
|
||
objVisitaSolicitudBL.objVisitaSolicitudEL.FKINSPECTOR = int.Parse(ddlInspector.SelectedValue);
|
||
objVisitaSolicitudBL.objVisitaSolicitudEL.FECHAENTREGADO = DateTime.Now;
|
||
|
||
if (strModo == "Nuevo")
|
||
{
|
||
nValorRetornado = objVisitaSolicitudBL.insertarVisitaSolicitud();
|
||
|
||
llenarGridVisitaSolicitud(strNumSolicitudTMP);
|
||
GuardarEventoBitacora(
|
||
Session["LOGIN"].ToString(),
|
||
AccionBitacora.INSERT.ToString(),
|
||
MensajesBitacora.IngresarRegistro + ": Se ha ingresado una visita de inspeccion para la solicitud " + strNumSolicitudTMP.Trim(),
|
||
"frwVisitaSolicitud.aspx",
|
||
Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"])
|
||
);
|
||
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
|
||
catch (Exception ex)
|
||
{
|
||
throw ex;
|
||
}
|
||
return nValorRetornado;
|
||
}
|
||
|
||
|
||
|
||
#endregion
|
||
|
||
#region Metodos Datos a Controles (R6)
|
||
|
||
|
||
/// <summary>
|
||
/// Llena el dropdownlist de grado academico según la aplicación
|
||
/// </summary>
|
||
private void llenarDDLtipoInspeccion() //M1
|
||
{
|
||
try
|
||
{
|
||
//Limpia el control
|
||
ddlTipoInspeccion.Items.Clear();
|
||
//Instancia el bjeto
|
||
objUsuarioBL = new UsuarioBL();
|
||
//Asigna datos al atributo
|
||
|
||
|
||
//Carga la información en un dataset
|
||
DataSet dsTipoInspeccion = objUsuarioBL.dsListaTipoInspeccion(null);
|
||
if (dsTipoInspeccion.Tables[0].Rows.Count != 0)
|
||
{
|
||
ddlTipoInspeccion.DataSource = dsTipoInspeccion;
|
||
ddlTipoInspeccion.DataTextField = dsTipoInspeccion.Tables[0].Columns["TIPOTIPOINSPECCION"].ColumnName;
|
||
ddlTipoInspeccion.DataValueField = dsTipoInspeccion.Tables[0].Columns["PKTIPOINSPECCION"].ColumnName;
|
||
ddlTipoInspeccion.DataBind();
|
||
|
||
|
||
ddlTipoInspeccion.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
||
}
|
||
else
|
||
ddlTipoInspeccion.Items.Insert(0, new ListItem("----- No existen opciones -----", "-1"));
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
throw ex;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// Llena el dropdownlist de tipo de consulta
|
||
/// Se cargan dos dataset uno con los datos de configuracion de la aplicacion y el otro viene del ADS que contiene el nombre
|
||
/// luego se hace un merge manual, se crea una tabla aparte con los valores requeridos
|
||
/// Asi mantenemos actualizados los nombre de los usuarios con los datos del ADS
|
||
/// </summary>
|
||
private void llenarDDLInspector() //M2
|
||
{
|
||
try
|
||
{
|
||
ddlInspector.Items.Clear();
|
||
ArrayList arlCondicionesFiltroBusqueda = new ArrayList();
|
||
DataSet ds;
|
||
objUsuarioBL = new UsuarioBL();
|
||
objUsuarioBL.objUsuarioEL.FKTIPOINSPECCION = int.Parse(ddlTipoInspeccion.SelectedValue);
|
||
ds = objUsuarioBL.dsUsuarioInspector(objUsuarioBL.objUsuarioEL);
|
||
|
||
DataSet ds2 = objUsuarioBL.dsListaUsuarios(arlCondicionesFiltroBusqueda);
|
||
|
||
DataTable dtInspectores = new DataTable();
|
||
dtInspectores.Columns.Add("PKUSUARIOXDEPENDENCIA");
|
||
dtInspectores.Columns.Add("NOMBRECOMPLETO");
|
||
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[1].ToString() == rowUsuario[1].ToString())
|
||
{
|
||
DataRow rowFinal = dtInspectores.NewRow();
|
||
rowFinal["PKUSUARIOXDEPENDENCIA"] = row[0].ToString();
|
||
rowFinal["NOMBRECOMPLETO"] = rowUsuario[12].ToString();
|
||
|
||
dtInspectores.Rows.Add(rowFinal);
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
if (dtInspectores.Rows.Count != 0)
|
||
{
|
||
ddlInspector.DataSource = dtInspectores;
|
||
ddlInspector.DataTextField = dtInspectores.Columns["NOMBRECOMPLETO"].ColumnName;
|
||
ddlInspector.DataValueField = dtInspectores.Columns["PKUSUARIOXDEPENDENCIA"].ColumnName;
|
||
ddlInspector.DataBind();
|
||
|
||
|
||
ddlInspector.Items.Insert(0, new ListItem("Seleccione", "-1"));
|
||
}
|
||
else
|
||
ddlInspector.Items.Insert(0, new ListItem("----- No existen opciones -----", "-1"));
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
throw ex;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// LLena el listado de roles de usuario
|
||
/// </summary>
|
||
private void llenarGridVisitaSolicitud(string strNumSolicitud) //M3
|
||
{
|
||
try
|
||
{
|
||
grvListaVisitaSolicitudTemp = (GridView)tdLista.FindControl("grvListaVisitaSolicitud");
|
||
|
||
grvListaVisitaSolicitudTemp.Columns[1].ItemStyle.Width = 50;
|
||
grvListaVisitaSolicitudTemp.Columns[2].ItemStyle.Width = 300;
|
||
|
||
grvListaVisitaSolicitudTemp.Columns[1].ItemStyle.HorizontalAlign = HorizontalAlign.Center;
|
||
grvListaVisitaSolicitudTemp.Columns[2].ItemStyle.HorizontalAlign = HorizontalAlign.Center;
|
||
grvListaVisitaSolicitudTemp.Columns[3].ItemStyle.HorizontalAlign = HorizontalAlign.Center;
|
||
grvListaVisitaSolicitudTemp.Columns[4].ItemStyle.HorizontalAlign = HorizontalAlign.Center;
|
||
|
||
|
||
|
||
ArrayList arlCondicionesFiltroBusqueda = new ArrayList();
|
||
//Instancia el objeto
|
||
objVisitaSolicitudBL = new visitaSolicitudBL();
|
||
//Instancia el bjeto
|
||
objUsuarioBL = new UsuarioBL();
|
||
//Asigna un valor al atributo de referencia del objeto
|
||
objVisitaSolicitudBL.objVisitaSolicitudEL.FKNUMSOLICITUD = strNumSolicitud;
|
||
//Carga en un dataset la información
|
||
DataSet ds = objVisitaSolicitudBL.listarVisitaSolicitud();
|
||
|
||
|
||
DataSet ds2 = objUsuarioBL.dsListaUsuarios(arlCondicionesFiltroBusqueda);
|
||
DataSet dsResult = null;
|
||
DataTable dtInspectores = new DataTable();
|
||
dtInspectores.Columns.Add("PKUSUARIOXDEPENDENCIA");
|
||
dtInspectores.Columns.Add("NOMBRECOMPLETO");
|
||
dtInspectores.Columns.Add("TIPOTIPOINSPECCION");
|
||
dtInspectores.Columns.Add("FECHAENTREGADOVISITASOLICITUD",typeof(DateTime));
|
||
dtInspectores.Columns.Add("FECHARESUELTOVISITASOLICITUD", typeof(DateTime));
|
||
|
||
|
||
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[5].ToString() == rowUsuario[1].ToString())
|
||
{
|
||
DataRow rowFinal = dtInspectores.NewRow();
|
||
rowFinal["PKUSUARIOXDEPENDENCIA"] = row[0].ToString();
|
||
rowFinal["NOMBRECOMPLETO"] = rowUsuario[12].ToString();
|
||
rowFinal["TIPOTIPOINSPECCION"] = row[15].ToString();
|
||
rowFinal["FECHAENTREGADOVISITASOLICITUD"] = DateTime.Parse(row[2].ToString());
|
||
if (row[3].ToString() != "")
|
||
rowFinal["FECHARESUELTOVISITASOLICITUD"] = DateTime.Parse(row[3].ToString());
|
||
|
||
|
||
dtInspectores.Rows.Add(rowFinal);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
//if (dtInspectores.Rows.Count != 0)
|
||
{
|
||
dsResult = new DataSet();
|
||
dsResult.Merge(dtInspectores);
|
||
grvListaVisitaSolicitud.DataSource = dsResult;
|
||
grvListaVisitaSolicitud.DataBind();
|
||
General.detalleGridView(dsResult, grvListaVisitaSolicitud, null);
|
||
|
||
}
|
||
|
||
|
||
//grvListaVisitaSolicitudTemp.Columns[3].ItemStyle.Width = 125;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
throw ex;
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
} |