662 lines
21 KiB
C#
662 lines
21 KiB
C#
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;
|
|
using AyABL.Usuario;
|
|
using AyABL.APL;
|
|
using AyABL.Tran;
|
|
using AyABL.TRA;
|
|
using System.Collections;
|
|
using System.Data;
|
|
|
|
public partial class Forms_TRA_frwObservaciones : 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);
|
|
|
|
construirGridView();
|
|
|
|
grvListarObservaciones.Visible = true;
|
|
|
|
Javascript.CheckAllGridViewItems(Page);
|
|
|
|
cuwBusquedaList.Buscar += new _controlesusuario_Estandar_cuwBusquedaList.SearchEvent(Buscar);
|
|
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MensajeError("Error en R0M1", ex);
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Variables (R1)
|
|
|
|
GridView grvListaDatosCantonalesTemp, grvCantonalesADTemp;
|
|
|
|
AutenticacionBL objAutenticacionBL;
|
|
UsuarioRolBL objUsuarioRolBL;
|
|
RolItemMenuComandoBL objRolItemMenuComandoBL;
|
|
string strNumSolicitudTMP = "0";
|
|
ObservacionesBL objObservacionesBL;
|
|
int nPKSolicitud = 0;
|
|
|
|
AplicacionBL objAplicacionBL;
|
|
RolBL objRolBL;
|
|
|
|
ArrayList arlCondicionesFiltroBusqueda = new ArrayList();
|
|
|
|
#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(btnGuarda);
|
|
|
|
if (Session["SOLICITUD"] != null )
|
|
{
|
|
strNumSolicitudTMP = Session["SOLICITUD"].ToString();
|
|
nPKSolicitud = int.Parse(Session["PKSOLICITUD"].ToString());
|
|
lblNumSolicitud.Text = strNumSolicitudTMP;
|
|
|
|
|
|
if ((!IsPostBack) && (Session.Count > 0))
|
|
{
|
|
|
|
Session["Pagina"] = "";
|
|
|
|
llenarGridView(true);
|
|
|
|
//mostrarFilaTabla(1);
|
|
|
|
ComandosxMenu();
|
|
}
|
|
}
|
|
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>
|
|
/// Metodo que se utiliza para extraer información del registro de la base de datos y ser mostrado en el acordeon de Controles
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
///
|
|
|
|
protected void grvListarObservaciones_RowCommand(object sender, GridViewCommandEventArgs e) //M0
|
|
{
|
|
try
|
|
{
|
|
if (e.CommandName == "editar")
|
|
{
|
|
int i = Convert.ToInt32(e.CommandArgument);
|
|
GridViewRow selectedRow = grvListarObservaciones.Rows[i];
|
|
int intPKAGENDA = Convert.ToInt32(selectedRow.Cells[2].Text);
|
|
ViewState["PKAGENDA"] = intPKAGENDA;
|
|
ViewState["MODO"] = "Modifica";
|
|
|
|
mostrarFilaTabla(2);
|
|
|
|
mostrarDatos(intPKAGENDA);
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MensajeError("Error en R3M0", ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Metodo que se utiliza para la paginación del Grid en caso de que el usuario desee ver mas registros
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
///
|
|
|
|
protected void grvListarObservaciones_PageIndexChanging(object sender, GridViewPageEventArgs e) //M3
|
|
{
|
|
try
|
|
{
|
|
grvListarObservaciones.PageIndex = e.NewPageIndex;
|
|
llenarGridView(true);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MensajeError("Error en R3M3", ex);
|
|
}
|
|
}
|
|
|
|
///<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) //M4
|
|
{
|
|
try
|
|
{
|
|
llenarGridView(true);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MensajeError("Error en R3M4" + MensajesAplicacion.RefrescarFallido.ToString(), ex);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Activa el evento del boton guardar.1
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
///
|
|
|
|
protected void btnGuardar_Click(object sender, EventArgs e)
|
|
{
|
|
|
|
try
|
|
{
|
|
if (txtobservaciones.Text == string.Empty)
|
|
{
|
|
ClientScript.RegisterStartupScript(this.GetType(), "Error", "<script>javascript: MensajeAlerta();</script>");
|
|
}
|
|
else
|
|
{
|
|
ViewState["MODO"] = "Nuevo";
|
|
|
|
|
|
int PKAGENDA = GuardarDatos();
|
|
//llenarGridView(true);
|
|
mostrarFilaTabla(1);
|
|
grvListarObservaciones.Visible = true;
|
|
limpiarCampos();
|
|
|
|
MensajeInformativo(AyABL.BASESDEDATOS.ADS + "Interfaz: " + MensajesAplicacion.GuardadoExitoso.ToString());
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MensajeError("Error en R3M14", ex);
|
|
}
|
|
}
|
|
|
|
|
|
#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 = false;
|
|
|
|
//divDatosInferiores.Visible = false;
|
|
|
|
switch (p_intFila)
|
|
{
|
|
case 1:
|
|
llenarGridView(true);
|
|
divDatosSuperiores.Visible = true;
|
|
break;
|
|
case 2:
|
|
llenarGridView(true);
|
|
//divDatosInferiores.Visible = true;
|
|
break;
|
|
case 3:
|
|
llenarGridView(true);
|
|
//divDatosInferiores.Visible = true;
|
|
break;
|
|
}
|
|
|
|
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Metodo que se utiliza para contruir el Grid al inicio de la pantalla
|
|
/// </summary>
|
|
///
|
|
|
|
private void construirGridView() //M1
|
|
{
|
|
try
|
|
{
|
|
grvListaDatosCantonalesTemp = (GridView)tdPlano.FindControl("grvListarObservaciones");
|
|
|
|
GridViewBoundField bdfPKOBSERVACIONES = new GridViewBoundField("PKAGENDA", "PK", false, false, false);
|
|
GridViewBoundField bdfFKNUMSOLICITUD = new GridViewBoundField("FKSOLICITUD", "SOLICITUD", true, false, true);
|
|
GridViewBoundField bdfOBSERVACIONES = new GridViewBoundField("OBSERVACIONESAGENDA", "OBSERVACIONES", true, false, true);
|
|
GridViewBoundField bdfFecha = new GridViewBoundField("FECHACREAAGENDA", "FECHA", true, true, true);
|
|
GridViewBoundField bdfUSUARIO = new GridViewBoundField("USUARIOCREAAGENDA", "USUARIO", true, false, true);
|
|
|
|
grvListaDatosCantonalesTemp.Columns.Add(bdfPKOBSERVACIONES);
|
|
grvListaDatosCantonalesTemp.Columns.Add(bdfFKNUMSOLICITUD);
|
|
grvListaDatosCantonalesTemp.Columns.Add(bdfOBSERVACIONES);
|
|
grvListaDatosCantonalesTemp.Columns.Add(bdfFecha);
|
|
grvListaDatosCantonalesTemp.Columns.Add(bdfUSUARIO);
|
|
|
|
grvListaDatosCantonalesTemp.Columns[0].ItemStyle.Width = 25;
|
|
grvListaDatosCantonalesTemp.Columns[1].ItemStyle.Width = 350;
|
|
grvListaDatosCantonalesTemp.Columns[2].ItemStyle.Width = 350;
|
|
grvListaDatosCantonalesTemp.Columns[3].ItemStyle.Width = 350;
|
|
grvListaDatosCantonalesTemp.Columns[4].ItemStyle.Width = 600;
|
|
|
|
|
|
cuwBusquedaList.LlenarCHKLBusqueda(grvListaDatosCantonalesTemp);
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Metodo que se encarga de agregar el filtro de busqueda seleccionado por el usuario
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
///
|
|
|
|
|
|
private void condicionesBusqueda() //M2
|
|
{
|
|
|
|
objObservacionesBL = new ObservacionesBL();
|
|
CondicionDAL condicion;
|
|
DateTime dteFechaInicio = new DateTime();
|
|
DateTime dteFechaFin = new DateTime();
|
|
ListItem li = new ListItem();
|
|
string p_parametros;
|
|
p_parametros = this.cuwBusquedaList.getValorBusqueda();
|
|
try
|
|
{
|
|
if (p_parametros != "")
|
|
{
|
|
//aqui se construye el listItem con los datos que vienen del control en formato {valor : texto , valor : texto}
|
|
char[] separadorTuplas = { ',' };
|
|
char[] separadorValores = { ':' };
|
|
string[] arrayTupla = p_parametros.Split(separadorTuplas);
|
|
|
|
for (int i = 0; i <= (arrayTupla.Length - 1); i++)
|
|
{
|
|
if (arrayTupla[i].ToString() != "")
|
|
{
|
|
string[] arrayValores = arrayTupla[i].ToString().Split(separadorValores);
|
|
li = new ListItem(arrayValores[1], arrayValores[0]);
|
|
|
|
if (li.Value.Contains("FECHA") && li.Text != string.Empty)
|
|
{
|
|
|
|
if (li.Value.Contains("INICIO"))
|
|
{
|
|
dteFechaInicio = Convert.ToDateTime(li.Text.ToString());
|
|
}
|
|
if (li.Value.Contains("FIN"))
|
|
{
|
|
dteFechaFin = Convert.ToDateTime(li.Text.ToString());
|
|
|
|
if (dteFechaFin != null || dteFechaInicio != null)
|
|
if (dteFechaInicio < dteFechaFin || dteFechaFin == dteFechaInicio)
|
|
{
|
|
|
|
objObservacionesBL = new ObservacionesBL();
|
|
arlCondicionesFiltroBusqueda = objObservacionesBL.buscarPorFechas(Tablas.agenda, dteFechaInicio, dteFechaFin, operadorLogico.AND, arlCondicionesFiltroBusqueda);
|
|
|
|
}
|
|
else
|
|
MensajeInformativo(AyABL.BASESDEDATOS.ADS + "Interfaz: " + "Verifique que la Fecha de Inicio sea menor que la Fecha Final" + "M2");
|
|
else
|
|
MensajeInformativo(AyABL.BASESDEDATOS.ADS + "Interfaz: " + "Verifique que los campos de las fechas no estén vacíos" + "M2");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (li.Value.Contains("booleano") && li.Text != "2")
|
|
{
|
|
condicion = new CondicionDAL();
|
|
char[] separadorColumna = { '|' };
|
|
string[] strColumna = li.Value.Split(separadorColumna);
|
|
condicion.valorIzquierdo = strColumna[1].ToString();
|
|
condicion.operadorGeneral = operadorGeneral.EQUAL;
|
|
condicion.operadorLogico = operadorLogico.AND;
|
|
condicion.valorDerecho = li.Text.Trim();
|
|
arlCondicionesFiltroBusqueda.Add(condicion);
|
|
}
|
|
else
|
|
{
|
|
if (li.Text != string.Empty && !li.Value.Contains("booleano"))
|
|
{
|
|
condicion = new CondicionDAL();
|
|
condicion.valorIzquierdo = li.Value;
|
|
condicion.operadorGeneral = operadorGeneral.LIKEALL;
|
|
condicion.operadorLogico = operadorLogico.AND;
|
|
condicion.valorDerecho = "%" + li.Text.Trim() + "%";
|
|
arlCondicionesFiltroBusqueda.Add(condicion);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// Metodo que se utiliza con el buscador de la parte superior de la pantalla, y hace que se despliegue la información de acuerdo
|
|
/// a lo solicitado
|
|
/// </summary>|
|
|
///
|
|
|
|
private void Buscar() //M4
|
|
{
|
|
try
|
|
{
|
|
llenarGridView(true);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// Metodo que se utiliza para el despliegue de los botones
|
|
/// </summary>
|
|
private void ComandosxMenu() //M4
|
|
{
|
|
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;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Metodos Controles a Datos (R5)
|
|
|
|
/// <summary>
|
|
/// guarda y modifica registros en la tabla.
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
///
|
|
|
|
|
|
private int GuardarDatos()
|
|
{
|
|
int nValorRetornado = 0;
|
|
|
|
try
|
|
{
|
|
|
|
string strModo = ViewState["MODO"].ToString();
|
|
|
|
objObservacionesBL = new ObservacionesBL();
|
|
//objObservacionesBL.objobservacionesEL.FKNUMSOLICITUD = strNumSolicitudTMP;
|
|
objObservacionesBL.objobservacionesEL.OBSERVACIONES = txtobservaciones.Text;
|
|
objObservacionesBL.objobservacionesEL.Fecha = DateTime.Now;
|
|
objObservacionesBL.objobservacionesEL.FKSOLICITUD = nPKSolicitud;
|
|
objObservacionesBL.objobservacionesEL.USUARIO = Session["LOGIN"].ToString();
|
|
|
|
nValorRetornado = objObservacionesBL.insertarObservaciones();
|
|
|
|
GuardarEventoBitacora(
|
|
Session["LOGIN"].ToString(),
|
|
AccionBitacora.INSERT.ToString(),
|
|
MensajesBitacora.IngresarRegistro + ": Se creó la observación " + txtobservaciones.Text.Trim(),
|
|
"frwObservacionesSolicitud.aspx",
|
|
Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"])
|
|
);
|
|
|
|
|
|
//if (strModo == "Nuevo")
|
|
//{
|
|
// //objObservacionesBL.objobservacionesEL.PK = 0;
|
|
|
|
// //DataSet ds = objObservacionesBL.listarobservaciones(null,true,null);
|
|
|
|
// if (ds.Tables[0].Rows.Count == 0)
|
|
// {
|
|
|
|
// nValorRetornado = objObservacionesBL.insertarObservaciones();
|
|
|
|
// GuardarEventoBitacora(
|
|
// Session["LOGIN"].ToString(),
|
|
// AccionBitacora.INSERT.ToString(),
|
|
// MensajesBitacora.IngresarRegistro + ": Ya existe el Folio y Plano " + txtobservaciones.Text.Trim(),
|
|
// "frwObservacionesSolicitud.aspx",
|
|
// Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"])
|
|
// );
|
|
|
|
// }
|
|
|
|
// }
|
|
// else if (strModo == "Modifica" && bool.Parse(ViewState["PUEDOMODIFICAR"].ToString())== true)
|
|
// {
|
|
// objObservacionesBL.objobservacionesEL.PK = Convert.ToInt32(ViewState["PKOBSERVACION"]);
|
|
// nValorRetornado = objObservacionesBL.modificarObservacion();
|
|
|
|
// GuardarEventoBitacora(
|
|
//Session["LOGIN"].ToString(),
|
|
//AccionBitacora.INSERT.ToString(),
|
|
//MensajesBitacora.IngresarRegistro + ": Ya existe el Folio y Plano " + txtobservaciones.Text.Trim(),
|
|
//"frwObservacionesSolicitud.aspx",
|
|
//Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"])
|
|
//);
|
|
|
|
//}
|
|
|
|
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
|
|
return nValorRetornado;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Metodos Datos a Controles (R6)
|
|
|
|
/// <summary>
|
|
/// Carga el grid principal
|
|
/// </summary>
|
|
/// <param name="p_Llenar"></param>
|
|
private void llenarGridView(bool p_Llenar) //M0
|
|
{
|
|
try
|
|
{
|
|
if (!IsPostBack || p_Llenar)
|
|
{
|
|
condicionesBusqueda();
|
|
|
|
|
|
objObservacionesBL = new ObservacionesBL();
|
|
objObservacionesBL.objobservacionesEL.FKSOLICITUD = nPKSolicitud;
|
|
DataSet dsObservaciones = objObservacionesBL.dsListarObservaciones(arlCondicionesFiltroBusqueda);
|
|
General.detalleGridView(dsObservaciones, grvListaDatosCantonalesTemp, lblTotalDatos);
|
|
|
|
//if (Session["SOLICITUD"].ToString() != null)
|
|
//{
|
|
// buscarGridView();
|
|
//}
|
|
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Muestra los datos del registro
|
|
/// </summary>
|
|
/// <param name="p_intPkConsultar"></param>
|
|
///
|
|
|
|
private void mostrarDatos(int p_intPkConsultar) //M1
|
|
{
|
|
try
|
|
{
|
|
|
|
limpiarCampos();
|
|
objObservacionesBL = new ObservacionesBL();
|
|
objObservacionesBL.objobservacionesEL.PK = p_intPkConsultar;
|
|
DataSet dsObservaciones = objObservacionesBL.dsListarObservaciones(null);
|
|
|
|
|
|
|
|
|
|
if (dsObservaciones.Tables[0].Rows.Count > 0)
|
|
{
|
|
//Información de la cantonal
|
|
|
|
txtobservaciones.Text = dsObservaciones.Tables[0].Rows[0]["OBSERVACIONESAGENDA"].ToString();
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw ex;
|
|
}
|
|
}
|
|
|
|
private void limpiarCampos()
|
|
{
|
|
txtobservaciones.Text = "";
|
|
}
|
|
|
|
/// <summary>
|
|
/// Carga el grid principal
|
|
/// </summary>
|
|
/// <param name="p_Llenar"></param>
|
|
///
|
|
|
|
//private void buscarGridView() //M2
|
|
//{
|
|
// try
|
|
// {
|
|
|
|
// {
|
|
// objObservacionesBL = new ObservacionesBL();
|
|
// objObservacionesBL.objobservacionesEL.FKNUMSOLICITUD = strNumSolicitudTMP;
|
|
// DataSet dsObservaciones = objObservacionesBL.dsListarObservaciones();
|
|
|
|
// }
|
|
// }
|
|
|
|
|
|
|
|
// catch (Exception ex)
|
|
// {
|
|
// throw ex;
|
|
// }
|
|
//}
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|