TFS_ANTIGUO/SIGPC/Forms/TRA/frwAgendaSolicitud.aspx.cs
kledezma 290b81b54d SIGPC
git-tfs-id: [http://192.168.1.10:8080/tfs/AyA]$/SINORT;C518
2021-01-22 14:59:35 +00:00

656 lines
No EOL
20 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_frwAgendaSolicitud : 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(btnGuardar);
//Session["SOLICITUD"] = "2017-2227";
//Session["PKSOLICITUD"] = "8";
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:parent.closeIFrameAgenda();</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
{
int PKAGENDA = GuardarDatos();
llenarGridView(true);
mostrarFilaTabla(1);
limpiarCampos();
MensajeInformativo(AyABL.BASESDEDATOS.ADS + "Interfaz: " + MensajesAplicacion.GuardadoExitoso.ToString());
}
}
catch (Exception ex)
{
MensajeError("Error en R3M14", ex);
}
}
/// <summary>
/// Activa el evento del boton Nuevo
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNuevo_Click(object sender, EventArgs e) //M8
{
try
{
ViewState["MODO"] = "Nuevo";
mostrarFilaTabla(2);
}
catch (Exception ex)
{
MensajeError("Error en R3M8" + MensajesAplicacion.GuardadoFallido.ToString(), ex);
}
}
///<summary>
///Activa el metodo del boton Anterior, regresa a la primera fila de la tabla
///</summary>
///<param name="sender"></param>
///<param name="e"></param>
protected void btnAnterior_Click(object sender, EventArgs e) //M12
{
try
{
llenarGridView(true);
divDatosSuperiores.Visible = true;
divDatosMedios.Visible = false;
}
catch (Exception ex)
{
MensajeError("Error en R3M12", 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;
divDatosMedios.Visible = false;
switch (p_intFila)
{
case 1:
llenarGridView(true);
divDatosSuperiores.Visible = true;
break;
case 2:
llenarGridView(true);
divDatosMedios.Visible = true;
break;
case 3:
llenarGridView(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("NUMEROSOLICITUDSOLICITUD", "Solicitud", true, false, true);
GridViewBoundField bdfOBSERVACIONES = new GridViewBoundField("OBSERVACIONESAGENDA", "Observación", true, false, true);
GridViewBoundField bdfFecha = new GridViewBoundField("FECHACREAAGENDA", "Fecha", true, true, true);
GridViewBoundField bdfUSUARIO = new GridViewBoundField("USUARIOCREAAGENDA", "Usuario", true, true, 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 = 10;
grvListaDatosCantonalesTemp.Columns[1].ItemStyle.Width = 40;
grvListaDatosCantonalesTemp.Columns[2].ItemStyle.Width = 25;
grvListaDatosCantonalesTemp.Columns[3].ItemStyle.Width = 110;
grvListaDatosCantonalesTemp.Columns[4].ItemStyle.Width = 1000;
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":
btnNuevo.Visible = true;
break;
case "MODIFICA":
//Inicio de variable tipo VIEWSTATE
ViewState["PUEDEMODIFICAR"] = true;
btnGuardar.Visible = 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.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 agrega la observación " + txtobservaciones.Text.Trim(),
"frwAgendaSolicitud.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
}