/*===========================================================================================================================
* 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", ""); }
}
catch (Exception ex)
{
MensajeError("Error en R2M0", ex);
}
}
#endregion
#region Eventos Controles Web (R3)
///
///Activar el botón de Refrescar
///
///
///
protected void btnRefrescar_Click(object sender, System.Web.UI.ImageClickEventArgs e) //M1
{
try
{
}
catch (Exception ex)
{
MensajeError("Error en R3M2" + MensajesAplicacion.RefrescarFallido.ToString(), ex);
}
}
///
/// Metodo que se utiliza para borrar el rol del listado de roles
///
///
///
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)
///
/// 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 el despliegue de los botones
///
//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;
// }
//}
///
/// Metodo que se utiliza para remover el role asignado al usuario
///
///
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;
}
///
/// Metodo que se utiliza para contruir el Grid al inicio de la pantalla
///
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)
///
/// guarda y modifica registros en la tabla.
///
///
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)
///
/// Llena el dropdownlist de grado academico según la aplicación
///
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;
}
}
///
/// 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
///
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;
}
}
///
/// LLena el listado de roles de usuario
///
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
}