TFS_ANTIGUO/SIGPC/ProyectoSIGPC/Forms/TRA/frwVisitaSolicitud.aspx.cs
kledezma 7fdadc4709 KLB
git-tfs-id: [http://192.168.1.10:8080/tfs/AyA]$/SINORT;C519
2021-01-22 15:05:35 +00:00

585 lines
No EOL
21 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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