Exferia/Exferia_KairosPro/Exferia_KairosPRO/4_Vistas/P_SolicitudAusenciaPrograma...

664 lines
30 KiB
C#

using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Visualizacion;
using Exferia_Controles;
using Exferia_EntityFramework;
using Exferia_General;
using Exferia_KairosPRO._4_Vistas.Controladoras;
using Exferia_KairosPRO.General;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using static Exferia_Aplicacion.General.Enumerados;
namespace Exferia_KairosPRO._4_Vistas
{
public partial class P_SolicitudAusenciaProgramada : Exferia_Formularios.P_Base_Mantenimientos
{
#region Variables General
private P_SolicitudAusenciaProgramada_Controladora g_obj_Controladora;
private bool g_bol_ConstructorPantalla_Terminado_Correctamente = true;
public PRV_OpcionesDetalle g_mdl_PRV_OpcionesDetalle = null;
internal List<INTERNO_Permisos_Modelo> g_lst_INTERNO_Permisos_Modelo = null;
//Variables paginador
public Funciones_Paginador g_obj_Funciones_Paginador;
private Timer g_timer_Paginar = new Timer();
#endregion
#region Obtejos en pantalla
//Exferia_Button
internal Exferia_Button Exferia_Button_Grabar { get { return ex_btn_P_SolicitudAusenciaProgramada_Grabar; } }
internal Exferia_Button Exferia_Button_Borrar { get { return ex_btn_P_SolicitudAusenciaProgramada_Borrar; } }
internal Exferia_Button Exferia_Button_GrabarAdjuntos { get { return ex_btn_P_SolicitudAusenciaProgramada_GrabarAdjuntos; } }
//Exferia_ComboBox
internal Exferia_ComboBox Exferia_ComboBox_AusenciasProgramadasTipos { get { return ex_cbo_P_SolicitudAusenciaProgramada_AusenciasProgramadasTipos; } }
//Exferia_Datagridview
internal Exferia_DataGridView Exferia_DataGridView_Resultado { get { return ex_dgv_P_SolicitudAusenciaProgramada_Resultado; } }
//Exferia_FechaSeleccion
internal Exferia_FechaSeleccion Exferia_FechaSeleccion_FechaSolicitud { get { return ex_usc_P_SolicitudAusenciaProgramada_FechaSolicitud; } }
internal Exferia_FechaSeleccion Exferia_FechaSeleccion_FechaDesde { get { return ex_usc_P_SolicitudAusenciaProgramada_FechaDesde; } }
internal Exferia_FechaSeleccion Exferia_FechaSeleccion_FechaHasta { get { return ex_usc_P_SolicitudAusenciaProgramada_FechaHasta; } }
//Exferia_Label
internal Exferia_Label Exferia_Label_AusenciasProgramadasTipos { get { return ex_lbl_P_SolicitudAusenciaProgramada_AusenciasProgramadasTipos; } }
//Exferia_Label_SinColor
internal Exferia_Label_SinColor Exferia_Label_SinColor_Estado { get { return ex_lbl_P_SolicitudAusenciaProgramada_Estado; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Dias_Totales { get { return ex_lbl_P_SolicitudAusenciaProgramada_Dias_Totales; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Dias_Aceptados { get { return ex_lbl_P_SolicitudAusenciaProgramada_Dias_Aceptados; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Dias_Cancelados { get { return ex_lbl_P_SolicitudAusenciaProgramada_Dias_Cancelados; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Dias_PendientesAceptar { get { return ex_lbl_P_SolicitudAusenciaProgramada_Dias_PendientesAceptar; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Dias_Resto { get { return ex_lbl_P_SolicitudAusenciaProgramada_Dias_Resto; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Empleado { get { return ex_lbl_P_SolicitudAusenciaProgramada_Empleado; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_TipoDias { get { return ex_lbl_P_SolicitudAusenciaProgramda_TipoDias; } }
internal Exferia_Label_SinColor Exferia_Label_SinColor_Tipo { get { return ex_lbl_P_SolicitudAusenciaProgramada_Tipo; } }
//Exferia_Paginador
internal Exferia_Paginador Exferia_Paginador_SolicitudAusenciaProgramada { get { return ex_Paginador; } }
//Exferia_TextBox
internal Exferia_TextBox Exferia_TextBox_Observaciones { get { return ex_txt_P_SolicitudAusenciaProgramada_Observaciones; } }
internal Exferia_TextBox Exferia_TextBox_MotivosCancelacion { get { return ex_txt_P_SolicitudAusenciaProgramada_MotivosCancelacion; } }
//Exferia_TextBox_ConMascara
internal Exferia_TextBox_ConMascara Exferia_TextBox_ConMascara_Hora_Desde { get { return ex_txtm_P_SolicitudAusenciaProgramada_Hora_Desde; } }
internal Exferia_TextBox_ConMascara Exferia_TextBox_ConMascara_Hora_Hasta { get { return ex_txtm_P_SolicitudAusenciaProgramada_Hora_Hasta; } }
//Panel
internal Panel Panel_Adjuntos { get { return pnl_P_SolicitudAusenciasProgramadas_Adjuntos; } }
#endregion
#region Constructor
public P_SolicitudAusenciaProgramada(INTERNO_ValoresGenerales_Modelo _mdl_INTERNO_ValoresGenerales_Modelo, DateTime _dtt_FechaTrabajo, PRV_OpcionesDetalle _mdl_PRV_OpcionesDetalle)
{
InitializeComponent();
Repintar.Empezar(this);
CheckForIllegalCrossThreadCalls = false;
//Comprobamos que el codigo cliente exista y este bien
if (Variables.G_LNG_IDCLIENTE_LICENCIAVALIDADO.Equals(-1))
{
//Tendriamos que avisar y no dejar abrir la pantalla
Mensajes.MostrarMensaje(Mensajes.G_STR_LICENCIA_VALIDACIONES_LICENCIANOESTAACTIVA);
Salir_P_Base();
}
//Empresa seleccionada y fecha de trabajo ....................................................
P_Base_ValoresGenerales = _mdl_INTERNO_ValoresGenerales_Modelo;
P_Base_FechaTrabajo = _dtt_FechaTrabajo;
//Instanciar Controladora
g_obj_Controladora = new P_SolicitudAusenciaProgramada_Controladora(this);
//Datos de Opciones detalle
g_mdl_PRV_OpcionesDetalle = _mdl_PRV_OpcionesDetalle;
//Buscar los Permisos
g_lst_INTERNO_Permisos_Modelo = Datos_Generales.Permisos_Buscar(g_mdl_PRV_OpcionesDetalle.opcion);
//Estado
ex_lbl_P_SolicitudAusenciaProgramada_Estado.Text = Variables_KairosPRO.G_MDL_ESTADOSOLICITUD_PENDIENTE.Descripcion.ToUpper();
ex_lbl_P_SolicitudAusenciaProgramada_Estado.ForeColor = Variables_KairosPRO.G_COLOR_LETRA_ESTADOSOLICITUD_PENDIENTE;
//Poner los botones que no se puedan poner bloqueados o solo de lectura
ex_btn_P_SolicitudAusenciaProgramada_Borrar.Exferia_Button_Bloqueable = false;
ex_btn_P_SolicitudAusenciaProgramada_Grabar.Exferia_Button_Bloqueable = false;
ex_btn_P_SolicitudAusenciaProgramada_LineaNueva.Exferia_Button_Bloqueable = false;
ex_btn_P_SolicitudAusenciaProgramada_GrabarAdjuntos.Exferia_Button_Bloqueable = false;
//Mirar si hay que bloquear los controles, si solo puede ver los datos
if ((P_Base_TipoAperturaPantalla != 0 && Datos_Generales.Permisos_Comprobar(g_mdl_PRV_OpcionesDetalle.opcion, g_lst_INTERNO_Permisos_Modelo, (int)G_ENUM_PERMISOS.Modificar, false)) == false)
{
//Bloqueo los Controles
SoloLectura.Empezar(this, true);
}
//Titulo de la Pantalla ............................................................................
P_Base_TituloPantalla = _mdl_PRV_OpcionesDetalle.descripcion_TituloMantenimiento;
try
{
//Label con Empresa Seleccionada
if(P_Base_ValoresGenerales != null)
{
try
{
P_Base_Mantenimientos_InformacionEmpresaSeleccionada = P_Base_ValoresGenerales.str_Empresa_Descripcion + " - " +
"(" + P_Base_FechaTrabajo.ToString("dd/MM/yyyy") + ")";
}
catch (Exception ex)
{
//No se muestra mensaje pero se guarda en el log
Control_Errores.Errores_Log("", ex, nameof(P_SolicitudAusenciaProgramada) + "/" + nameof(P_SolicitudAusenciaProgramada));
}
}
//..................................................................................................................................
//Bloquear pantalla hasta que termine la carga por defecto.....
Enabled = false;
//.............................................................
g_obj_Funciones_Paginador = new Funciones_Paginador();
}
catch (Control_Errores)
{
g_bol_ConstructorPantalla_Terminado_Correctamente = false;
}
catch (Exception ex)
{
g_bol_ConstructorPantalla_Terminado_Correctamente = false;
Control_Errores.Errores_Log("", ex, nameof(P_SolicitudAusenciaProgramada) + "/" + nameof(P_SolicitudAusenciaProgramada));
}
finally
{
//Bloquear pantalla hasta que termine la carga por defecto .....
Enabled = true;
//.............................................................
}
}
#endregion
#region Inicio de pantalla
private void P_SolicitudAusenciaProgramada_Load(object sender, EventArgs e)
{
try
{
#region TIMER PAGINACION
g_timer_Paginar.Interval = 1000;
g_timer_Paginar.Tick += delegate (object s, EventArgs ee)
{
g_timer_Paginar.Stop();
try
{
g_obj_Controladora.RecargarDatos();
}
catch (Control_Errores)
{
Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());
Salir_P_Base();
}
};
#endregion
#region RESULTADO
//Crear Columnas Listado
Crear_Columnas_Listado_Resultado();
#endregion
}
catch (Exception ex)
{
//No se muestra mensaje pero se guarda en el log
Control_Errores.Errores_Log("", ex, nameof(P_SolicitudAusenciaProgramada) + "/" + nameof(P_SolicitudAusenciaProgramada_Load));
g_bol_ConstructorPantalla_Terminado_Correctamente = false;
}
}
private void P_SolicitudAusenciaProgramada_Shown(object sender, EventArgs e)
{
try
{
if (g_bol_ConstructorPantalla_Terminado_Correctamente)
{
INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo=g_obj_Controladora.Datos_PorDefecto();
if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
{
// Si el Tipo de Apertura de Pantalla es Añadir(g_int_tipoAperturaPantalla = 0), se desactivan los botones correspondientes
// Añadir
if (this.P_Base_TipoAperturaPantalla == 0)
{
P_Base_TituloPantalla = P_Base_TituloPantalla + " - Añadir";
Funciones.Poner_Foco_Objeto(this, ex_usc_P_SolicitudAusenciaProgramada_FechaDesde);
ActivarBotones(false);
}
//Modificar
else
{
ActivarBotones(true);
//Paginacion
if (P_Base_PantallaOrigen != null &&
P_Base_PantallaOrigen.P_Base_Objetos_Filtrados != null &&
P_Base_PantallaOrigen.P_Base_Objetos_Filtrados.Count > 0)
{
g_obj_Funciones_Paginador.Listado_ARecorrer(P_Base_PantallaOrigen.P_Base_Objetos_Filtrados.ToList(), 1);
// Asignando las paginas totales
Exferia_Paginador_SolicitudAusenciaProgramada.PaginasTotales = g_obj_Funciones_Paginador.Numero_Paginas_Totales;
}
else
{
Exferia_Paginador_SolicitudAusenciaProgramada.Visible = false;
}
g_obj_Controladora.RecargarDatos();
}
P_Base_SeModificoDatosPantalla = false;
}
else
{
P_Base_SeModificoDatosPantalla = false;
Mensajes.MostrarMensaje(mdl_INTERNO_ValorDevuelto_Modelo.Mensaje);
Salir_P_Base();
}
}
else
{
Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());
Salir_P_Base();
}
}
catch (Control_Errores)
{
Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());
Salir_P_Base();
}
catch (Exception ex)
{
//No se muestra mensaje pero se guarda en el log
Control_Errores.Errores_Log("", ex, nameof(P_SolicitudAusenciaProgramada) + "/" + nameof(P_SolicitudAusenciaProgramada_Shown));
Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA());
Salir_P_Base();
}
}
public void ActivarBotones (bool _bol_Activar)
{
if (Exferia_Paginador_SolicitudAusenciaProgramada.Visible)
{
Exferia_Paginador_SolicitudAusenciaProgramada.Visible = _bol_Activar;
}
if (ex_btn_P_SolicitudAusenciaProgramada_Borrar.Enabled)
{
ex_btn_P_SolicitudAusenciaProgramada_Borrar.Enabled = _bol_Activar;
}
}
#endregion
#region Botones Grabar, Borrar, BuscarCodigoSiguiente, Colores,GrabarAdjuntos
private void ex_btn_P_SolicitudAusenciaProgramada_Grabar_Click(object sender, EventArgs e)
{
Grabar();
}
private void Grabar()
{
if (ex_btn_P_SolicitudAusenciaProgramada_Grabar.Visible)
{
if ( //Añadir
(P_Base_TipoAperturaPantalla == 0 && Datos_Generales.Permisos_Comprobar(g_mdl_PRV_OpcionesDetalle.opcion, g_lst_INTERNO_Permisos_Modelo, (int)G_ENUM_PERMISOS.Anadir, true)) ||
//Modificar
(P_Base_TipoAperturaPantalla != 0 && Datos_Generales.Permisos_Comprobar(g_mdl_PRV_OpcionesDetalle.opcion, g_lst_INTERNO_Permisos_Modelo, (int)G_ENUM_PERMISOS.Modificar, true)))
{
g_obj_Controladora.GrabarDatos(true);
}
}
}
private void ex_btn_P_SolicitudAusenciaProgramada_GrabarAdjuntos_Click(object sender, EventArgs e)
{
GrabarAdjuntos();
}
private void GrabarAdjuntos()
{
if ( //Añadir
(P_Base_TipoAperturaPantalla == 0 && Datos_Generales.Permisos_Comprobar(g_mdl_PRV_OpcionesDetalle.opcion, g_lst_INTERNO_Permisos_Modelo, (int)G_ENUM_PERMISOS.Anadir, true)) ||
//Modificar
(P_Base_TipoAperturaPantalla != 0 && Datos_Generales.Permisos_Comprobar(g_mdl_PRV_OpcionesDetalle.opcion, g_lst_INTERNO_Permisos_Modelo, (int)G_ENUM_PERMISOS.Modificar, true)))
{
g_obj_Controladora.GrabarAdjuntos();
}
}
private void ex_btn_P_SolicitudAusenciaProgramada_Borrar_Click(object sender, EventArgs e)
{
Borrar();
}
private void Borrar()
{
if (ex_btn_P_SolicitudAusenciaProgramada_Borrar.Visible)
{
if (Datos_Generales.Permisos_Comprobar(g_mdl_PRV_OpcionesDetalle.opcion, g_lst_INTERNO_Permisos_Modelo, (int)G_ENUM_PERMISOS.Borrar, true))
{
g_obj_Controladora.BorrarDatos(true);
}
}
}
#endregion
#region Fechas
private bool g_bol_FechaDesde_Cambio = false;
private void ex_usc_P_SolicitudAusenciaProgramada_FechaDesde_Exferia_FechaSeleccion_TextBox_TextChanged(object sender, EventArgs e)
{
if (g_obj_Controladora!=null && g_obj_Controladora.g_bol_TareaAsincrona_CargarDatos_Termino)
{
g_bol_FechaDesde_Cambio = true;
}
}
private void ex_usc_P_SolicitudAusenciaProgramada_FechaDesde_Exferia_FechaSeleccion_LostFocus(object sender, EventArgs e)
{
if (g_bol_FechaDesde_Cambio)
{
g_obj_Controladora.Dias_Calculo();
//Validar Fechas que esten en el mismo ejercicio
INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo=g_obj_Controladora.Fechas_Validar_MismoEjercicio(1);
if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto==false)
{
if (mdl_INTERNO_ValorDevuelto_Modelo.Mensaje!=null && mdl_INTERNO_ValorDevuelto_Modelo.Mensaje.Trim().Length>0)
{
Mensajes.MostrarMensaje(mdl_INTERNO_ValorDevuelto_Modelo.Mensaje);
//Poner el Foco en el objeto que tuvoel problema en validar
if (mdl_INTERNO_ValorDevuelto_Modelo.Objeto != null)
{
Funciones.Poner_Foco_Objeto(this, mdl_INTERNO_ValorDevuelto_Modelo.Objeto);
}
}
}
}
}
private bool g_bol_FechaHasta_Cambio = false;
private void ex_usc_P_SolicitudAusenciaProgramada_FechaHasta_Exferia_FechaSeleccion_TextBox_TextChanged(object sender, EventArgs e)
{
if (g_obj_Controladora != null && g_obj_Controladora.g_bol_TareaAsincrona_CargarDatos_Termino)
{
g_bol_FechaHasta_Cambio = true;
}
}
private void ex_usc_P_SolicitudAusenciaProgramada_FechaHasta_Exferia_FechaSeleccion_LostFocus(object sender, EventArgs e)
{
if (g_bol_FechaHasta_Cambio)
{
g_obj_Controladora.Dias_Calculo();
//Validar Fechas que esten en el mismo ejercicio
INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = g_obj_Controladora.Fechas_Validar_MismoEjercicio(2);
if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto == false)
{
if (mdl_INTERNO_ValorDevuelto_Modelo.Mensaje != null && mdl_INTERNO_ValorDevuelto_Modelo.Mensaje.Trim().Length > 0)
{
Mensajes.MostrarMensaje(mdl_INTERNO_ValorDevuelto_Modelo.Mensaje);
//Poner el Foco en el objeto que tuvoel problema en validar
if (mdl_INTERNO_ValorDevuelto_Modelo.Objeto != null)
{
Funciones.Poner_Foco_Objeto(this, mdl_INTERNO_ValorDevuelto_Modelo.Objeto);
}
}
}
}
}
#endregion
#region Empleados
private void ex_usc_P_SolicitudAusenciaProgramada_Empleado_Exferia_F3_SoloSeleccion_Evento_TerminoBusqueda(object sender, EventArgs e)
{
if (g_obj_Controladora != null)
{
g_obj_Controladora.Dias_Calculo();
}
}
#endregion
#region Ausencias Programadas tipos
private void ex_cbo_P_SolicitudAusenciaProgramada_AusenciasProgramadasTipos_SelectedIndexChanged(object sender, EventArgs e)
{
if (g_obj_Controladora!=null && g_obj_Controladora.g_bol_Termino_CargaDatos_Inicial && g_obj_Controladora.g_bol_TareaAsincrona_CargarDatos_Termino)
{
g_obj_Controladora.Dias_Calculo();
}
}
#endregion
#region Adjuntos
private void ex_btn_P_SolicitudAusenciaProgramada_LineaNueva_Click(object sender, EventArgs e)
{
g_obj_Controladora.Adjuntos_CrearListado(null);
}
#endregion
#region Resultado
private void Crear_Columnas_Listado_Resultado()
{
try
{
ex_dgv_P_SolicitudAusenciaProgramada_Resultado.AutoGenerateColumns = false;
g_obj_Controladora.g_lst_ABS_Listado_KRS_SolicitudesAusenciasProgramadas_Supervisores = g_obj_Controladora.g_obj_ABS_Listado_Resultado.LISTADO_COLUMNAS().Values.ToList();
foreach (INTERNO_ABS_Listado_ColumnasDatos_Modelo mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo in g_obj_Controladora.g_lst_ABS_Listado_KRS_SolicitudesAusenciasProgramadas_Supervisores)
{
DataGridViewTextBoxColumn dgv_Columna = new DataGridViewTextBoxColumn();
dgv_Columna.DataPropertyName = mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna;
dgv_Columna.Name = mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna;
dgv_Columna.HeaderText = mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_AMostrar;
//Poner visible o no .........................................................................
bool bol_Visible = true;
if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.NoOcultable == false)
{
if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Oculto)
{
bol_Visible = false;
}
else if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Mostrado_PorDefecto == false)
{
bol_Visible = false;
}
}
dgv_Columna.Visible = bol_Visible;
if (bol_Visible)
{
g_obj_Controladora.g_lst_ColumnasAMostrar_Resultado.Add(mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Descripcion_Interna);
}
//.....................................................................................................
//Tipo de Formateo si fuera Fecha
if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.TipoDato.Equals(G_ENUM_TIPOSDATOS.DATETIME))
{
dgv_Columna.DefaultCellStyle.Format = "d";
}
//Poner Ancho Columna ................................................................................
if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Ancho > 0)
{
dgv_Columna.Width = mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.Ancho;
}
//................................................................................................................
dgv_Columna.ReadOnly = true;
//Poner alineado segun tipo de datos ......................................................................................
if (mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.TipoDato.Equals(G_ENUM_TIPOSDATOS.DECIMAL) ||
mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.TipoDato.Equals(G_ENUM_TIPOSDATOS.LONG) ||
mdl_INTERNO_ABS_Listado_ColumnasDatos_Modelo.TipoDato.Equals(G_ENUM_TIPOSDATOS.INT))
{
dgv_Columna.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
}
else
{
dgv_Columna.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
}
//..............................................................................................................................
ex_dgv_P_SolicitudAusenciaProgramada_Resultado.Columns.Add(dgv_Columna);
}
}
catch (Exception ex)
{
Control_Errores.Errores_Log("", ex, nameof(P_SolicitudAusenciaProgramada) + "/" + nameof(Crear_Columnas_Listado_Resultado));
}
}
#endregion
#region Eventos del paginador
protected void ctu_Paginacion_Primera_Click(object sender, EventArgs e)
{
if (g_obj_Controladora.ComprobarCambios()) //Si no han habido contratiempospasamos a la pagina indicada
{
if (g_obj_Funciones_Paginador.Primera())
{
//Asignando al control la pagina actual.
Exferia_Paginador_SolicitudAusenciaProgramada.PaginaActual = g_obj_Funciones_Paginador.GetPaginaActual();
//Refrescamos el listado a mostrar en el form
P_Base_id = g_obj_Funciones_Paginador.Objeto_Devuelto.FirstOrDefault().ID;
g_timer_Paginar.Stop();
g_timer_Paginar.Start();
}
}
}
private void ctu_Paginacion_Anterior_Click(object sender, EventArgs e)
{
if (g_obj_Controladora.ComprobarCambios()) // si no han habido contratiempos pasamos a la pagina indicada
{
if (g_obj_Funciones_Paginador.Anterior())
{
//Asignando al control la pagina actual.
Exferia_Paginador_SolicitudAusenciaProgramada.PaginaActual = g_obj_Funciones_Paginador.GetPaginaActual();
//Refrescamos el listado a mostrar en el form
P_Base_id = g_obj_Funciones_Paginador.Objeto_Devuelto.FirstOrDefault().ID;
g_timer_Paginar.Stop();
g_timer_Paginar.Start();
}
}
}
protected void ctu_Paginacion_Siguiente_Click(object sender, EventArgs e)
{
if (g_obj_Controladora.ComprobarCambios()) // Si no han habido contratiempos pasamos a la pagina indicada
{
if (g_obj_Funciones_Paginador.Siguiente())
{
// Asignando al control la pagina actual.
Exferia_Paginador_SolicitudAusenciaProgramada.PaginaActual = g_obj_Funciones_Paginador.GetPaginaActual();
// Refrescamos el listado a mostrar en el form.
P_Base_id = g_obj_Funciones_Paginador.Objeto_Devuelto.FirstOrDefault().ID;
g_timer_Paginar.Stop();
g_timer_Paginar.Start();
}
}
}
protected void ctu_Paginacion_Ultima_Click(object sender, EventArgs e)
{
if (g_obj_Controladora.ComprobarCambios()) // Si no han habido contratiempos pasamos a la pagina indicada
{
if (g_obj_Funciones_Paginador.Ultima())
{
// Asignando al control la pagina actual.
Exferia_Paginador_SolicitudAusenciaProgramada.PaginaActual = g_obj_Funciones_Paginador.GetPaginaActual();
// Refrescamos el listado a mostrar en el form.
P_Base_id = g_obj_Funciones_Paginador.Objeto_Devuelto.FirstOrDefault().ID;
g_timer_Paginar.Stop();
g_timer_Paginar.Start();
}
}
}
protected void txt_PaginaActual_KeyPress(object sender, KeyPressEventArgs e)
{
// si pulsamos Enter.
if (e.KeyChar.Equals('\r'))
{
if (g_obj_Controladora.ComprobarCambios()) //Si no han habido contratiempos pasamos a la pagina indicada
{
//Asignamos a la paginacion el valor del textbox
g_obj_Funciones_Paginador.SetPaginaActual(Exferia_Paginador_SolicitudAusenciaProgramada.txt_ValorPaginaActual - 1);
//Asignamos al control la pagina actual
Exferia_Paginador_SolicitudAusenciaProgramada.PaginaActual = g_obj_Funciones_Paginador.GetPaginaActual();
//Regrescamos el listad a mostrar en el form.
P_Base_id = g_obj_Funciones_Paginador.Objeto_Devuelto.FirstOrDefault().ID;
g_timer_Paginar.Stop();
g_obj_Controladora.RecargarDatos();
}
}
}
#endregion
#region Teclas de acceso rapido
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
// Salir sin Seleccionar
if (keyData == Keys.F10)
{
Salir_P_Base();
return true;
}
// Grabar
else if (keyData == Keys.F2)
{
Grabar();
return true;
}
// Borrar
else if (keyData == Keys.F5)
{
Borrar();
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
#endregion
#region Controlar si se modifica algo
private void Controlar_Modificaciones_TextBox_TextChanged(object sender, EventArgs e)
{
Controlar_Modificaciones();
}
private void Controlar_Modificaciones()
{
if (Enabled && g_obj_Controladora != null && g_obj_Controladora.g_bol_Termino_CargaDatos_Inicial)
{
P_Base_SeModificoDatosPantalla = true;
}
}
#endregion
}
}