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.Threading; using System.Windows.Forms; using static Exferia_Aplicacion.General.Enumerados; namespace Exferia_KairosPRO._4_Vistas { public partial class P_Incidencias : Exferia_Formularios.P_Base_Mantenimientos { #region Variables Generales private P_Incidencias_Controladora g_obj_Controladora; public bool g_bol_ConstructorPantalla_Terminado_Correctamente = true; public PRV_OpcionesDetalle g_mdl_PRV_Opciones_Detalle = null; internal List g_lst_INTERNO_Permisos_Modelo = null; //Timer Buscar private System.Windows.Forms.Timer g_timer_Buscar_Empleados = new System.Windows.Forms.Timer(); #endregion #region Objetos en Pantalla //Exferia_CheckBox internal Exferia_CheckBox Exferia_CheckBox_PalabraCompleta { get { return ex_chk_P_Incidencias_PalabraCompleta; } } internal Exferia_CheckBox Exferia_CheckBox_MayusculasMinusculas { get { return ex_chk_P_Incidencias_MayusculasMinusculas; } } //Exferia_DataGriView internal Exferia_DataGridView Exferia_DataGridView_Empleados { get { return ex_dgv_P_Incidencias_Empleados; } } //Exferia_DateTimePicker internal Exferia_DateTimePicker Exferia_DateTimePicker_Meses { get { return ex_dtp_P_Incidencias_Meses; } } //Exferia_NumericUpDown internal Exferia_NumericUpDown Exferia_NumericUpDown_Anyo { get { return ex_nud_P_Incidencias_Anyo; } } //Exferia_Panel_Degradado internal Exferia_Panel_Degradado Exferia_Panel_Degradado_Calendario { get { return ex_pnl_P_Incidencias_Calendario; } } //Exferia_TextBox internal Exferia_TextBox Exferia_TextBox_Buscar { get { return ex_txt_P_Incidencias_Buscar; } } #endregion #region Constructor public P_Incidencias(INTERNO_ValoresGenerales_Modelo _mdl_INTERNO_ValoresGenerales_Modelo, DateTime _dtt_FechaTrabajo, PRV_OpcionesDetalle _mdl_PRV_OpcionesDetalle) { InitializeComponent(); Repintar.Empezar(this); //Comrpobamos 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); } //Empresa Seleccionada y fecha de trabajo P_Base_ValoresGenerales = _mdl_INTERNO_ValoresGenerales_Modelo; P_Base_FechaTrabajo = _dtt_FechaTrabajo; ex_nud_P_Incidencias_Anyo.Exferia_NumericUpDown_Value = P_Base_FechaTrabajo.Year; ex_dtp_P_Incidencias_Meses.Exferia_DateTimePicker_Value = P_Base_FechaTrabajo; //Instanciar Controladora g_obj_Controladora = new P_Incidencias_Controladora(this); //Deseleccionar la row de DataGrid para cargar calendario ex_dgv_P_Incidencias_Empleados.ClearSelection(); //Datos de Opciones detalle g_mdl_PRV_Opciones_Detalle = _mdl_PRV_OpcionesDetalle; //Buscar los Permisos g_lst_INTERNO_Permisos_Modelo = Datos_Generales.Permisos_Buscar(g_mdl_PRV_Opciones_Detalle.opcion); //Mirrar si hay que bloquear los controles, si solo puede ver los datos if ((P_Base_TipoAperturaPantalla != 0 && Datos_Generales.Permisos_Comprobar(g_mdl_PRV_Opciones_Detalle.opcion,g_lst_INTERNO_Permisos_Modelo,(int)G_ENUM_PERMISOS.Modificar,false)) == false) { //Bloquear los controles SoloLectura.Empezar(this,true); } ex_dtp_P_Incidencias_Meses.Enabled = true; //No bloqeuar el año ex_nud_P_Incidencias_Anyo.Exferia_NumericUpDown_ReadOnly = false; //Rellenar la leyenda de colores Rellenar_Leyenda(); //Titulo de la Pantalla P_Base_TituloPantalla = g_mdl_PRV_Opciones_Detalle.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_Incidencias) + "/" + nameof(P_Incidencias)); } } //.................................................................................................................................. //Bloquear pantalla hasta que termine la carga por defecto..... Enabled = false; //............................................................. } 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_Incidencias) + "/" + nameof(P_Incidencias)); } finally { //Bloquear pantalla hasta que termine la carga por defecto ............. Enabled = true; //...................................................................... } } #endregion #region Inicio de pantalla private void P_Incidencias_Load(object sender, EventArgs e) { try { //Configurar el Timer para Busqueda en el Listado ##################################################### g_timer_Buscar_Empleados.Interval = 1000; g_timer_Buscar_Empleados.Tick += delegate (object s, EventArgs ee) { g_timer_Buscar_Empleados.Stop(); g_obj_Controladora.Rellenar_DataGrid_Empleados(ex_txt_P_Incidencias_Buscar.Text); }; } catch (Exception ex) { //No se muestra mensaje pero se guarda en el log Control_Errores.Errores_Log(ex.Message, ex, nameof(P_Incidencias) + "/" + nameof(P_Incidencias_Load)); g_bol_ConstructorPantalla_Terminado_Correctamente = false; } } private void P_Incidencias_Shown(object sendern, EventArgs e) { try { g_obj_Controladora.CargaInicial(-1); } 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_Incidencias) + "/" + nameof(P_Incidencias_Shown)); Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA()); Salir_P_Base(); } } #endregion #region Empleado private void ex_txt_P_Incidencias_Buscar_Exferia_TextBox_Evento_TextChanged(object sender, EventArgs e) { if (g_obj_Controladora != null) { g_timer_Buscar_Empleados.Stop(); g_timer_Buscar_Empleados.Start(); } } private void ex_chk_P_Incidencias_PalabraCompleta_CheckedChanged(object sender, EventArgs e) { if (g_obj_Controladora != null) { g_timer_Buscar_Empleados.Stop(); g_timer_Buscar_Empleados.Start(); } } private void ex_chk_P_Incidencias_MayusculasMinusculas_CheckedChanged(object sender, EventArgs e) { if (g_obj_Controladora != null) { g_timer_Buscar_Empleados.Stop(); g_timer_Buscar_Empleados.Start(); } } #endregion #region Procedimientos heredados de la clase P_Base public override void P_Base_ActualizarRegistro_ConObjeto(object _obj, G_ENUM_TIPOACCION _enum_TipoAccion) { try { g_obj_Controladora.CargaInicial(g_obj_Controladora.g_lng_idEmpleado_Seleccionado); } catch (Exception ex) { Mensajes.MostrarMensaje(ex.Message); } } #endregion #region Eventos private void ex_dtp_P_Incidencias_Meses_ValueChanged(object sender, EventArgs e) { try { if (ex_dgv_P_Incidencias_Empleados.SelectedRows.Count > 0) { if (g_obj_Controladora != null) { g_obj_Controladora.g_int_Mes = ex_dtp_P_Incidencias_Meses.Exferia_DateTimePicker_Mes; g_obj_Controladora.CargaInicial(g_obj_Controladora.g_lng_idEmpleado_Seleccionado); } } else { if (g_obj_Controladora != null) { g_obj_Controladora.Cargar_Calendario(ex_dtp_P_Incidencias_Meses.Exferia_DateTimePicker_Mes); } } } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(P_Incidencias) + "/" + nameof(ex_dtp_P_Incidencias_Meses_ValueChanged)); } } private void ex_nud_P_Incidencias_Anyo_ValueChanged(object sender, EventArgs e) { try { if (e != null) { if (ex_dgv_P_Incidencias_Empleados.SelectedRows.Count > 0) { Exferia_NumericUpDown Exferia_NumericUpDown_Anyo = (Exferia_NumericUpDown)sender; if (Exferia_NumericUpDown_Anyo.Exferia_NumericUpDown_Value.ToString().Trim().Length == 4) { int int_Anyo = Convert.ToInt32(Exferia_NumericUpDown_Anyo.Exferia_NumericUpDown_Value); if (int_Anyo > 1990 && int_Anyo < 3000) { g_obj_Controladora.CargaInicial(g_obj_Controladora.g_lng_idEmpleado_Seleccionado); } } } else { if (g_obj_Controladora != null) { if (g_obj_Controladora.g_bol_Termino_CargaInicial) { Exferia_NumericUpDown Exferia_NumericUpDown_Anyo = (Exferia_NumericUpDown)sender; if (Exferia_NumericUpDown_Anyo.Exferia_NumericUpDown_Value.ToString().Trim().Length == 4) { int int_Anyo = Convert.ToInt32(Exferia_NumericUpDown_Anyo.Exferia_NumericUpDown_Value); if (int_Anyo > 1990 && int_Anyo < 3000) { g_obj_Controladora.CargaInicial(ex_dtp_P_Incidencias_Meses.Exferia_DateTimePicker_Mes); } } } } } } } catch (Exception ex) { Control_Errores.Errores_Log(ex.Message,ex,nameof(P_Incidencias)+"/"+nameof(ex_nud_P_Incidencias_Anyo_ValueChanged)); } } private void ex_dgv_P_Incidencias_Empleados_SelectionChanged(object sender, EventArgs e) { try { if (g_obj_Controladora!=null && g_obj_Controladora.g_bol_Termino_CargaInicial && g_obj_Controladora.g_bol_Cargando_Empleados==false) { if (ex_dgv_P_Incidencias_Empleados.SelectedRows.Count > 0) { g_obj_Controladora.g_int_Mes = ex_dtp_P_Incidencias_Meses.Exferia_DateTimePicker_Mes; g_obj_Controladora.ActualizarDatos(long.Parse(ex_dgv_P_Incidencias_Empleados.SelectedRows[0].Cells[0].Value.ToString())); } } } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(P_Incidencias) + "/" + nameof(ex_dgv_P_Incidencias_Empleados_SelectionChanged)); } } #endregion #region Abrir Fichajes private void Abrir_Fichajes(object sender, INTERNO_EventArgs e) { if (g_obj_Controladora!=null) { g_obj_Controladora.Abrir_Fichajes(e.NumeroObjeto); } } #endregion #region Rellenar Leyenda private void Rellenar_Leyenda() { //Dia Fichajes Sin Validar ex_pnl_P_Incidencias_Dia_Fichajes_SinValidar.Exferia_Panel_Degradado_Color_Desde = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_SINVALIDAR; ex_pnl_P_Incidencias_Dia_Fichajes_SinValidar.Exferia_Panel_Degradado_Color_Hasta = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_SINVALIDAR; ex_pnl_P_Incidencias_Dia_Fichajes_SinValidar.Exferia_Panel_Degradado_Color_Borde = Colores.G_COLOR_KAIROSPRO_FICHAJE_BORDE_CELDA; //Dia Fichajes Validado Sin Incidencias ex_pnl_P_Incidencias_Dia_Fichajes_ValidadosSinIncidencias.Exferia_Panel_Degradado_Color_Desde = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_VALIDADO_SININCIDENCIAS; ex_pnl_P_Incidencias_Dia_Fichajes_ValidadosSinIncidencias.Exferia_Panel_Degradado_Color_Hasta = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_VALIDADO_SININCIDENCIAS; ex_pnl_P_Incidencias_Dia_Fichajes_ValidadosSinIncidencias.Exferia_Panel_Degradado_Color_Borde = Colores.G_COLOR_KAIROSPRO_FICHAJE_BORDE_CELDA; //Dia Fichajes Validado Con Incidencias ex_pnl_P_Incidencias_Dia_Fichajes_ValidadosConIncidencias.Exferia_Panel_Degradado_Color_Desde = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_VALIDADO_CONINCIDENCIAS; ex_pnl_P_Incidencias_Dia_Fichajes_ValidadosConIncidencias.Exferia_Panel_Degradado_Color_Hasta = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_VALIDADO_CONINCIDENCIAS; ex_pnl_P_Incidencias_Dia_Fichajes_ValidadosConIncidencias.Exferia_Panel_Degradado_Color_Borde = Colores.G_COLOR_KAIROSPRO_FICHAJE_BORDE_CELDA; //Dia sin Fichajes ex_pnl_P_Incidencias_Dia_Sin_Fichajes.Exferia_Panel_Degradado_Color_Desde = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_SINFICHAJES; ex_pnl_P_Incidencias_Dia_Sin_Fichajes.Exferia_Panel_Degradado_Color_Hasta = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_SINFICHAJES; ex_pnl_P_Incidencias_Dia_Sin_Fichajes.Exferia_Panel_Degradado_Color_Borde = Colores.G_COLOR_KAIROSPRO_FICHAJE_BORDE_CELDA; //Dia Vacio ex_pnl_P_Incidencias_Dia_Vacio.Exferia_Panel_Degradado_Color_Desde = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_VACIO; ex_pnl_P_Incidencias_Dia_Vacio.Exferia_Panel_Degradado_Color_Hasta = Colores.G_COLOR_KAIROSPRO_FICHAJE_DIA_VACIO; ex_pnl_P_Incidencias_Dia_Vacio.Exferia_Panel_Degradado_Color_Borde = Colores.G_COLOR_KAIROSPRO_FICHAJE_BORDE_CELDA; } #endregion } }