745 lines
26 KiB
C#
745 lines
26 KiB
C#
|
|
/*===========================================================================================================================
|
|||
|
|
* Instituto Costarricense de Acueductos y Alcantarillados. - 2012
|
|||
|
|
* Proyecto: Formularios para Proyectos de Inversión
|
|||
|
|
* Nombre de la Pantalla: frwDependencia.aspx
|
|||
|
|
*
|
|||
|
|
* Explicación de los contenidos del archivo
|
|||
|
|
*===========================================================================================================================
|
|||
|
|
* HISTORIAL
|
|||
|
|
*
|
|||
|
|
* PERSONA DIA – MES - AÑO DESCRIPCIÓN
|
|||
|
|
* Oscar Vargas Jimenez 15 – 11 - 2016 Se inicia con el diseño de la pagina
|
|||
|
|
* …………………………………………………………
|
|||
|
|
* …………………………………………………………
|
|||
|
|
*===========================================================================================================================
|
|||
|
|
* Derechos Reservados (C) 2016 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.Configuration;
|
|||
|
|
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.ADM;
|
|||
|
|
using AyABL.RCS;
|
|||
|
|
using AyADAL;
|
|||
|
|
|
|||
|
|
|
|||
|
|
public partial class webforms_ADM_wfrDependencia : 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();
|
|||
|
|
|
|||
|
|
Javascript.CheckAllGridViewItems(Page);
|
|||
|
|
|
|||
|
|
cuwBusquedaList.Buscar += new _controlesusuario_Estandar_cuwBusquedaList.SearchEvent(Buscar);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R0M1", ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region Variables (R1)
|
|||
|
|
|
|||
|
|
GridView grvListaDatosTemp;
|
|||
|
|
ArrayList arlCondicionesFiltroBusqueda = new ArrayList();
|
|||
|
|
|
|||
|
|
DependenciaBL objDependenciaBL;
|
|||
|
|
|
|||
|
|
ArrayList arlCondicionesBuscador;
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region Eventos Formulario (R2)
|
|||
|
|
|
|||
|
|
protected void Page_Load(object sender, EventArgs e) //M0
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
if (!IsPostBack)
|
|||
|
|
{
|
|||
|
|
llenarDDLDependencia();
|
|||
|
|
llenarGridView(true);
|
|||
|
|
ComandosxMenu();
|
|||
|
|
mostrarFilaTabla(1);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
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 div de Controles
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="sender"></param>
|
|||
|
|
/// <param name="e"></param>
|
|||
|
|
|
|||
|
|
protected void grvListaDatos_RowCommand(object sender, GridViewCommandEventArgs e) //M0
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
if (e.CommandName == "editar")
|
|||
|
|
{
|
|||
|
|
int i = Convert.ToInt32(e.CommandArgument);
|
|||
|
|
GridViewRow selectedRow = grvListaDatos.Rows[i];
|
|||
|
|
int intPkDependencia = Convert.ToInt32(selectedRow.Cells[2].Text);
|
|||
|
|
ViewState["PkDependencia"] = intPkDependencia;
|
|||
|
|
ViewState["MODO"] = "Modifica";
|
|||
|
|
|
|||
|
|
mostrarFilaTabla(2);
|
|||
|
|
|
|||
|
|
mostrarDatos(intPkDependencia);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R3M0", ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Metodo que se utiliza para la paginación del Grid en caso de que el Rol desee ver mas registros
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="sender"></param>
|
|||
|
|
/// <param name="e"></param>
|
|||
|
|
|
|||
|
|
protected void grvListaDatos_PageIndexChanging(object sender, GridViewPageEventArgs e) //M1
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
grvListaDatos.PageIndex = e.NewPageIndex;
|
|||
|
|
llenarGridView(true);
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error R3M1", 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) //M2
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
llenarGridView(true);
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R3M2", ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Activa el evento del botón Buscar (binoculares)
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="sender"></param>
|
|||
|
|
/// <param name="e"></param>
|
|||
|
|
protected void btnBuscar_Click(object sender, System.Web.UI.ImageClickEventArgs e) //M3
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
llenarGridView(true);
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R3M3", 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) //M4
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
ViewState["MODO"] = "Nuevo";
|
|||
|
|
mostrarFilaTabla(2);
|
|||
|
|
limpiarCampos();
|
|||
|
|
//MensajeError("Error en R3M4", null);
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R3M4", ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Metodo que activa el botón de Eliminar
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="sender"></param>
|
|||
|
|
/// <param name="e"></param>
|
|||
|
|
protected void btnEliminar_Click(object sender, EventArgs e) //M5
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
// recorro el grid
|
|||
|
|
foreach (GridViewRow row in grvListaDatos.Rows)
|
|||
|
|
{
|
|||
|
|
HtmlInputCheckBox chkTemp = (HtmlInputCheckBox)row.Controls[0].Controls[1];
|
|||
|
|
if (chkTemp != null)
|
|||
|
|
{
|
|||
|
|
// si el registro esta marcado
|
|||
|
|
if (chkTemp.Checked)
|
|||
|
|
{
|
|||
|
|
//Iguala la variable al valor en la celda seleccionada
|
|||
|
|
int intPkEliminar = Convert.ToInt32(row.Cells[2].Text);
|
|||
|
|
string registro = row.Cells[3].Text;
|
|||
|
|
//Ejecuta el eliminar con el valor de la variable
|
|||
|
|
eliminarDatos(intPkEliminar, registro);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
llenarGridView(true);
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R3M5", ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
///<summary>
|
|||
|
|
///Activa el metodo del boton Anterior, regresa a mostrar el listado
|
|||
|
|
///</summary>
|
|||
|
|
///<param name="sender"></param>
|
|||
|
|
///<param name="e"></param>
|
|||
|
|
|
|||
|
|
protected void btnAnterior_Click(object sender, EventArgs e) //M6
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
llenarGridView(true);
|
|||
|
|
divDatosSuperiores.Visible = true;
|
|||
|
|
divDatosInferiores.Visible = false;
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R3M6", ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Activa el evento del boton guardar.
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="sender"></param>
|
|||
|
|
/// <param name="e"></param>
|
|||
|
|
|
|||
|
|
protected void btnGuardar_Click(object sender, EventArgs e) //M7
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
string strMensaje = string.Empty;
|
|||
|
|
|
|||
|
|
//******Reparar, aqui no van los llenarGridView(true);
|
|||
|
|
if (GuardarDatos())
|
|||
|
|
llenarGridView(true);
|
|||
|
|
else
|
|||
|
|
llenarGridView(true);
|
|||
|
|
|
|||
|
|
mostrarFilaTabla(1);
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R3M7", ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
protected void ddlTipo_SelectedIndexChanged(object sender, EventArgs e) //M8
|
|||
|
|
{
|
|||
|
|
llenarGridView(true);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region Metodos Personalizados (R4)
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Oculta los divs según la necesidad
|
|||
|
|
/// </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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R4M0", ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Metodo que se utiliza para construir el Grid al inicio de la pantalla
|
|||
|
|
/// </summary>
|
|||
|
|
private void construirGridView() //M1
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//Se Instancia la variable con el control
|
|||
|
|
grvListaDatosTemp = (GridView)divDatosSuperiores.FindControl("grvListaDatos");
|
|||
|
|
|
|||
|
|
//Se crean las columnas del grid
|
|||
|
|
GridViewBoundField bdfPkDependencia = new GridViewBoundField("PKDependencia", "PK", false, false, false);
|
|||
|
|
GridViewBoundField bdfNombreDependencia = new GridViewBoundField("NOMBREDependencia", "Dependencia", true, false, true);
|
|||
|
|
GridViewBoundField bdfCodigoAccesoDependencia = new GridViewBoundField("CODIGOACCESODEPENDENCIA", "CodigoAcceso", false, false, false);
|
|||
|
|
|
|||
|
|
////Asigna las columnas a los campos a la hora de hacer la consulta
|
|||
|
|
grvListaDatosTemp.Columns.Add(bdfPkDependencia);
|
|||
|
|
grvListaDatosTemp.Columns.Add(bdfNombreDependencia);
|
|||
|
|
grvListaDatosTemp.Columns.Add(bdfCodigoAccesoDependencia);
|
|||
|
|
|
|||
|
|
////Le damos estilo a las filas (opcional)
|
|||
|
|
grvListaDatosTemp.Columns[0].ItemStyle.Width = 25;
|
|||
|
|
grvListaDatosTemp.Columns[1].ItemStyle.Width = 25;
|
|||
|
|
grvListaDatosTemp.Columns[2].ItemStyle.Width = 25;
|
|||
|
|
////Carga el buscador con las columnas del grid
|
|||
|
|
|
|||
|
|
cuwBusquedaList.LlenarCHKLBusqueda(grvListaDatosTemp);
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R4M1", ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Metodo que se utiliza para limpiar los campos en la pantalla
|
|||
|
|
/// </summary>
|
|||
|
|
private void limpiarCampos() //M3
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
txtNombre.Text = string.Empty;
|
|||
|
|
llenarDDLDependencia();
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R4M3", 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)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R4M4", ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Metodo que se utiliza para el despliegue de los botones segun el rol del usuario
|
|||
|
|
/// </summary>
|
|||
|
|
private void ComandosxMenu() //M5
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//General general = null;
|
|||
|
|
|
|||
|
|
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 "ELIMINAR":
|
|||
|
|
btnEliminar.Visible = true;
|
|||
|
|
break;
|
|||
|
|
case "MODIFICA":
|
|||
|
|
//Inicio de variable tipo VIEWSTATE
|
|||
|
|
ViewState["PUEDEMODIFICAR"] = true;
|
|||
|
|
btnGuardar.Visible = true;
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R4M5", ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void condicionesBusqueda() //M6
|
|||
|
|
{
|
|||
|
|
objDependenciaBL = new DependenciaBL();
|
|||
|
|
arlCondicionesBuscador = new ArrayList();
|
|||
|
|
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)
|
|||
|
|
{
|
|||
|
|
objDependenciaBL = new DependenciaBL();
|
|||
|
|
arlCondicionesBuscador = objDependenciaBL.buscarPorFechas(Tablas.dependencia, dteFechaInicio, dteFechaFin, operadorLogico.AND);
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
MensajeInformativo("Verifique que la Fecha de Inicio sea menor que la Fecha Final" + "M2");
|
|||
|
|
else
|
|||
|
|
MensajeInformativo("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;
|
|||
|
|
arlCondicionesBuscador.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 + "%";
|
|||
|
|
arlCondicionesBuscador.Add(condicion);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R4M6", ex);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
#region Metodos Controles a Datos (R5)
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// guarda y modifica registros en la tabla.
|
|||
|
|
/// </summary>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
|
|||
|
|
private bool GuardarDatos() //M0
|
|||
|
|
{
|
|||
|
|
bool blnValorRetornado = false; //Se utiliza para verificar si se ejecuto el proceso tanto de guardar como el de eliminar
|
|||
|
|
int intPk = 0;
|
|||
|
|
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
string strModo = ViewState["MODO"].ToString();
|
|||
|
|
ViewState["PUEDEMODIFICAR"] = true;
|
|||
|
|
|
|||
|
|
//Igualar los valores de los controles a las propiedades del objeto a utilizar
|
|||
|
|
//Ejemplo
|
|||
|
|
objDependenciaBL = new DependenciaBL();
|
|||
|
|
objDependenciaBL.objDependenciaEL.PK = Int32.Parse(ddlDependencia.SelectedValue.ToString());
|
|||
|
|
objDependenciaBL.objDependenciaEL.Nombre = txtNombre.Text;
|
|||
|
|
objDependenciaBL.objDependenciaEL.Padre = Int32.Parse(ddlDependencia.SelectedValue.ToString());
|
|||
|
|
|
|||
|
|
if (strModo == "Nuevo")
|
|||
|
|
{
|
|||
|
|
//Es necesario enviar la PK de la Dependencia que es padre en la tabla
|
|||
|
|
objDependenciaBL.objDependenciaEL.Padre = Int32.Parse(ddlDependencia.SelectedValue);
|
|||
|
|
|
|||
|
|
//Si es un nuevo registro se llama al metodo respectivo del objeto para hacer la inserción
|
|||
|
|
//***** Para este caso se obtiene el pk al utilizar el metodo del objeto para insertar información *******
|
|||
|
|
//Ejemplo
|
|||
|
|
if (objDependenciaBL.insertarDependencia())
|
|||
|
|
{
|
|||
|
|
blnValorRetornado = true;
|
|||
|
|
|
|||
|
|
GuardarEventoBitacora(
|
|||
|
|
Session["LOGIN"].ToString(), //Usuario
|
|||
|
|
AccionBitacora.INSERT.ToString(), //Accion que se va a ejecutar
|
|||
|
|
MensajesBitacora.IngresarRegistro + ": " + ddlDependencia.SelectedValue.ToString() + ", " + txtNombre.Text, //Mensaje de la bitacora
|
|||
|
|
"wfrDependencia.aspx"
|
|||
|
|
);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else if (strModo == "Modifica")
|
|||
|
|
{
|
|||
|
|
//Si se va a modificar el registro y si tiene el permiso de modificar
|
|||
|
|
if (Convert.ToBoolean(ViewState["PUEDEMODIFICAR"]) != false)
|
|||
|
|
{
|
|||
|
|
// Para hacer la modificación del registro se debe proporsionar la PK del registro a modificar
|
|||
|
|
//Ejemplo
|
|||
|
|
objDependenciaBL.objDependenciaEL.PK = Convert.ToInt32(ViewState["PkDependencia"]);
|
|||
|
|
if (objDependenciaBL.actualizarDependencia())
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
blnValorRetornado = true;
|
|||
|
|
|
|||
|
|
//Se ingresa a bitacora la transacción
|
|||
|
|
GuardarEventoBitacora(
|
|||
|
|
Session["LOGIN"].ToString(),
|
|||
|
|
AccionBitacora.UPDATE.ToString(),
|
|||
|
|
MensajesBitacora.ModificarRegistro + ": " + ddlDependencia.SelectedValue.ToString() + ", " + txtNombre.Text,
|
|||
|
|
"wfrDependencia.aspx"
|
|||
|
|
);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R5M0", ex);
|
|||
|
|
General.ReportarError(ex, Session["LOGIN"].ToString());
|
|||
|
|
}
|
|||
|
|
return blnValorRetornado;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// Metodo que se utiliza para eliminar registros de la base de datos
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="p_intPksAEliminar"></param>
|
|||
|
|
|
|||
|
|
private void eliminarDatos(int p_intPkDependencia, string registroDependencia) //M1
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//Para eliminar datos inicialmente se instancia el objeto
|
|||
|
|
//Ejemplo
|
|||
|
|
objDependenciaBL = new DependenciaBL();
|
|||
|
|
|
|||
|
|
//Se asignan los valores a las propiedades el objeto
|
|||
|
|
//Ejemplo
|
|||
|
|
objDependenciaBL.objDependenciaEL.PK = p_intPkDependencia;
|
|||
|
|
|
|||
|
|
if (objDependenciaBL.borradoLogicoDependencia())
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
//Se ingresa a bitacora la transacción
|
|||
|
|
GuardarEventoBitacora(
|
|||
|
|
Session["LOGIN"].ToString(),
|
|||
|
|
AccionBitacora.DELETE.ToString(),
|
|||
|
|
MensajesBitacora.EliminarRegistro + ": " + registroDependencia,
|
|||
|
|
"wfrDependencia.aspx"
|
|||
|
|
);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R5M1", ex);
|
|||
|
|
General.ReportarError(ex, Session["LOGIN"].ToString());
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#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();
|
|||
|
|
//Se llena el dataset con la información
|
|||
|
|
//Ejemplo
|
|||
|
|
objDependenciaBL = new DependenciaBL();
|
|||
|
|
objDependenciaBL.objDependenciaEL.PK = 0;
|
|||
|
|
objDependenciaBL.objDependenciaEL.Padre = 0;
|
|||
|
|
|
|||
|
|
DataSet dsListaDatos = objDependenciaBL.getDependencia(arlCondicionesBuscador);
|
|||
|
|
|
|||
|
|
//Hago el llamado del metodo que carga el grid o listado
|
|||
|
|
//Ejemplo
|
|||
|
|
General.detalleGridView(dsListaDatos, grvListaDatosTemp, lblTotalDatos);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R6M0", ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
/// <summary>
|
|||
|
|
/// Muestra los datos del registro
|
|||
|
|
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="p_intPkConsultar"></param>
|
|||
|
|
private void mostrarDatos(int p_intPkConsultar) //M1
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//Se instancia el objeto
|
|||
|
|
//Ejemplo
|
|||
|
|
objDependenciaBL = new DependenciaBL();
|
|||
|
|
|
|||
|
|
//Se obtiene la PK del registro por medio el parametro
|
|||
|
|
//Ejemplo
|
|||
|
|
objDependenciaBL.objDependenciaEL.PK = p_intPkConsultar;
|
|||
|
|
|
|||
|
|
objDependenciaBL.objDependenciaEL.Padre = 0;
|
|||
|
|
|
|||
|
|
//Se llena un dataset con la inforación suministrada.
|
|||
|
|
//Ejemplo
|
|||
|
|
DataSet dsDependencia = objDependenciaBL.getDependencia(null);
|
|||
|
|
|
|||
|
|
//Se llenan los campos
|
|||
|
|
//Ejemplo
|
|||
|
|
if (dsDependencia.Tables[0].Rows.Count > 0)
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
ddlDependencia.SelectedValue = dsDependencia.Tables[0].Rows[0]["PADREDEPENDENCIA"].ToString();
|
|||
|
|
txtNombre.Text = dsDependencia.Tables[0].Rows[0]["NOMBREDEPENDENCIA"].ToString();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R6M1", ex);
|
|||
|
|
General.ReportarError(ex, Session["LOGIN"].ToString());
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private void llenarDDLDependencia() //M2
|
|||
|
|
{
|
|||
|
|
try
|
|||
|
|
{
|
|||
|
|
//Limpia el control
|
|||
|
|
ddlDependencia.Items.Clear();
|
|||
|
|
//Instancia el objeto
|
|||
|
|
objDependenciaBL = new DependenciaBL();
|
|||
|
|
objDependenciaBL.objDependenciaEL.PK = 0;
|
|||
|
|
objDependenciaBL.objDependenciaEL.Padre = 1;
|
|||
|
|
objDependenciaBL.objDependenciaEL.ASTATE = true;
|
|||
|
|
//Carga la información en el dropdownlist
|
|||
|
|
ddlDependencia.DataSource = objDependenciaBL.getDependencia(null); ;
|
|||
|
|
ddlDependencia.DataTextField = Concepto.NOMBRE.ToString() + Tablas.dependencia.ToString().ToUpper();
|
|||
|
|
ddlDependencia.DataValueField = Constraints.PK.ToString() + Tablas.dependencia.ToString().ToUpper();
|
|||
|
|
ddlDependencia.DataBind();
|
|||
|
|
|
|||
|
|
ddlDependencia.Items.Insert(0, new ListItem("Sin Nivel Superior", "-1"));
|
|||
|
|
}
|
|||
|
|
catch (Exception ex)
|
|||
|
|
{
|
|||
|
|
MensajeError("Error en R6M2", ex);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endregion
|
|||
|
|
|
|||
|
|
}
|