using Exferia_Aplicacion.General; using Exferia_KairosPRO._1_Modelos; using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Exferia_KairosPRO.General { public class Verificacion_Fichajes_Diccionarios { public static void Crear_Directorios(long _lng_codigoCliente, DateTime _dtt_FechaActual) { try { string str_Ruta_General = Variables.G_STR_LIBRERIA_RUTAINICIAL; string str_Ruta_Cliente = str_Ruta_General + @"\" + _lng_codigoCliente; //Crear la carpeta si no existiera.................................... if (!Directory.Exists(str_Ruta_Cliente)) { Directory.CreateDirectory(str_Ruta_Cliente); Funciones.Conceder_Permisos_Carpeta(str_Ruta_Cliente); } //.................................................................... string str_Ruta_Dia = str_Ruta_General + @"\" + _lng_codigoCliente + @"\" + _dtt_FechaActual.ToString("yyyyMMdd"); //Crear la carpeta si no existiera.................................... if (!Directory.Exists(str_Ruta_Dia)) { Directory.CreateDirectory(str_Ruta_Dia); Funciones.Conceder_Permisos_Carpeta(str_Ruta_Cliente); } //.................................................................... } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(Verificacion_Fichajes_Diccionarios) + "/" + nameof(Crear_Directorios)); } } public static void Borrar_Directorios(long _lng_codigoCliente) { try { string str_Ruta_General = Variables.G_STR_LIBRERIA_RUTAINICIAL; string str_Ruta_Cliente = str_Ruta_General + @"\" + _lng_codigoCliente; if (Directory.Exists(str_Ruta_Cliente)) { Directory.Delete(str_Ruta_Cliente,true); } //Crear la carpeta si no existiera.................................... Directory.CreateDirectory(str_Ruta_Cliente); Funciones.Conceder_Permisos_Carpeta(str_Ruta_Cliente); //.................................................................... } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(Verificacion_Fichajes_Diccionarios) + "/" + nameof(Borrar_Directorios)); } } #region DCT_JORNADASLINEASHORAINICIALYAVALIDADAS public static void Actualizar_Diccionario_JornadaLineaHoraInicialYaValidadas(long _lng_CodigoCliente, long _lng_idEmpleado, long _lng_idJornadaLinea, DateTime _dtt_Actual, bool _bol_Grabar_Diccionarios_XML, long _lng_idEmpresa) { try { string str_Fichero = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\" + _lng_CodigoCliente + @"\" + _dtt_Actual.ToString("yyyyMMdd") + @"\" + Variables_KairosPRO.G_STR_NOMBREFICHEROS_DICCIONARIO_JORNADASLINEASHORAINICIALYAVALIDADAS; List lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo = null; if (Variables_KairosPRO.G_DCT_JORNADASLINEASHORAINICIALYAVALIDADAS.ContainsKey(_lng_CodigoCliente)) { lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo = Variables_KairosPRO.G_DCT_JORNADASLINEASHORAINICIALYAVALIDADAS[_lng_CodigoCliente]; INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo mdl_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo = lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo.Where(m => m.IdEmpleado.Equals(_lng_idEmpleado) && m.IdEmpresa.Equals(_lng_idEmpresa) && m.Fecha.ToString("dd/MM/yyyy").Equals(_dtt_Actual.ToString("dd/MM/yyyy"))) .FirstOrDefault(); if (mdl_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo != null) { mdl_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo.IdJornadaLinea = _lng_idJornadaLinea; } else { lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo.Add(new INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo(_lng_idJornadaLinea, _lng_idEmpleado, _dtt_Actual, _lng_idEmpresa)); Variables_KairosPRO.G_DCT_JORNADASLINEASHORAINICIALYAVALIDADAS[_lng_CodigoCliente] = lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo; } } else { lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo = new List(); lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo.Add(new INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo(_lng_idJornadaLinea, _lng_idEmpleado, _dtt_Actual, _lng_idEmpresa)); Variables_KairosPRO.G_DCT_JORNADASLINEASHORAINICIALYAVALIDADAS.Add(_lng_CodigoCliente, lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo); } //Borrar los registros de hace viejos ........................................................................................................................................................................................................................ DateTime dtt_Fecha_ABorrar = _dtt_Actual.AddDays(Variables_KairosPRO.G_INT_NUMERODIASACONSIDERAR_FICHEROSVIEJOS); List lst_VerificacionFichajes_INTERNO_JornadaHoraInicialEmpleado_Validada_Modelo_ABORRAR = lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo.Where(m => m.Fecha.ToString("dd/MM/yyyy").Equals(dtt_Fecha_ABorrar.ToString("dd/MM/yyyy"))).ToList(); if (lst_VerificacionFichajes_INTERNO_JornadaHoraInicialEmpleado_Validada_Modelo_ABORRAR != null && lst_VerificacionFichajes_INTERNO_JornadaHoraInicialEmpleado_Validada_Modelo_ABORRAR.Count > 0) { foreach (INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo mdl_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo_ABORRAR in lst_VerificacionFichajes_INTERNO_JornadaHoraInicialEmpleado_Validada_Modelo_ABORRAR) { lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo.Remove(lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo.Where(m => m.IdEmpleado.Equals(mdl_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo_ABORRAR.IdEmpleado) && m.IdEmpresa.Equals(mdl_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo_ABORRAR.IdEmpresa) && m.Fecha.ToString("dd/MM/yyyy").Equals(mdl_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo_ABORRAR.Fecha.ToString("dd/MM/yyyy"))) .FirstOrDefault()); } } //................................................................................................................................................................................................................................................................ if (_bol_Grabar_Diccionarios_XML) { //Grabar en Fichero .................................................................................................................................................................................. Crear_Directorios(_lng_CodigoCliente, _dtt_Actual); //Borro el Fichero que existe y guardo los nuevos registros if (File.Exists(str_Fichero)) { File.Delete(str_Fichero); } string str_Datos_Guardar = ""; List lst_VerificacionFichajes_INTERNO_JornadaHoraInicialEmpleado_Validada_Modelo_PORFECHA = lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo.Where(m => m.Fecha.ToString("dd/MM/yyyy").Equals(_dtt_Actual.ToString("dd/MM/yyyy"))).ToList(); if (lst_VerificacionFichajes_INTERNO_JornadaHoraInicialEmpleado_Validada_Modelo_PORFECHA != null && lst_VerificacionFichajes_INTERNO_JornadaHoraInicialEmpleado_Validada_Modelo_PORFECHA.Count > 0) { foreach (INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo mdl_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo in lst_VerificacionFichajes_INTERNO_JornadaHoraInicialEmpleado_Validada_Modelo_PORFECHA) { str_Datos_Guardar = mdl_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo.IdJornadaLinea + "|" + mdl_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo.IdEmpleado + "|" + mdl_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo.IdEmpresa + "|" + mdl_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo.Fecha.ToString("yyyyMMddHHmmss") + System.Environment.NewLine; File.AppendAllText(str_Fichero, str_Datos_Guardar); } } } } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(Verificacion_Fichajes_Diccionarios) + "" + nameof(Actualizar_Diccionario_JornadaLineaHoraInicialYaValidadas)); } } #endregion #region DCT_JORNADASLINEASHORAFINALYAVALIDADAS public static void Actualizar_Diccionario_JornadaLineaHoraFinalYaValidadas(long _lng_CodigoCliente, long _lng_idEmpleado, long _lng_idJornadaLinea, DateTime _dtt_Actual, bool _bol_Grabar_Diccionarios_XML, long _lng_idEmpresa) { try { string str_Fichero = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\" + _lng_CodigoCliente + @"\" + _dtt_Actual.ToString("yyyyMMdd") + @"\" + Variables_KairosPRO.G_STR_NOMBREFICHEROS_DICCIONARIO_JORNADASLINEASHORAFINALYAVALIDADAS; List lst_VerificacionFichajes_INTERNO_JornadaHoraFinalEmpleado_Validada_Modelo = null; if (Variables_KairosPRO.G_DCT_JORNADASLINEASHORAFINALYAVALIDADAS.ContainsKey(_lng_CodigoCliente)) { lst_VerificacionFichajes_INTERNO_JornadaHoraFinalEmpleado_Validada_Modelo = Variables_KairosPRO.G_DCT_JORNADASLINEASHORAFINALYAVALIDADAS[_lng_CodigoCliente]; INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo mdl_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo = lst_VerificacionFichajes_INTERNO_JornadaHoraFinalEmpleado_Validada_Modelo.Where(m => m.IdEmpleado.Equals(_lng_idEmpleado) && m.IdEmpresa.Equals(_lng_idEmpresa) && m.Fecha.ToString("dd/MM/yyyy").Equals(_dtt_Actual.ToString("dd/MM/yyyy"))) .FirstOrDefault(); if (mdl_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo != null) { mdl_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo.IdJornadaLinea = _lng_idJornadaLinea; } else { lst_VerificacionFichajes_INTERNO_JornadaHoraFinalEmpleado_Validada_Modelo.Add(new INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo(_lng_idJornadaLinea, _lng_idEmpleado, _dtt_Actual, _lng_idEmpresa)); Variables_KairosPRO.G_DCT_JORNADASLINEASHORAFINALYAVALIDADAS[_lng_CodigoCliente] = lst_VerificacionFichajes_INTERNO_JornadaHoraFinalEmpleado_Validada_Modelo; } } else { lst_VerificacionFichajes_INTERNO_JornadaHoraFinalEmpleado_Validada_Modelo = new List(); lst_VerificacionFichajes_INTERNO_JornadaHoraFinalEmpleado_Validada_Modelo.Add(new INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo(_lng_idJornadaLinea, _lng_idEmpleado, _dtt_Actual, _lng_idEmpresa)); Variables_KairosPRO.G_DCT_JORNADASLINEASHORAFINALYAVALIDADAS.Add(_lng_CodigoCliente, lst_VerificacionFichajes_INTERNO_JornadaHoraFinalEmpleado_Validada_Modelo); } //Borrar los registros de hace viejos ........................................................................................................................................................................................................................ DateTime dtt_Fecha_ABorrar = _dtt_Actual.AddDays(Variables_KairosPRO.G_INT_NUMERODIASACONSIDERAR_FICHEROSVIEJOS); List lst_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_ABORRAR = lst_VerificacionFichajes_INTERNO_JornadaHoraFinalEmpleado_Validada_Modelo.Where(m => m.Fecha.ToString("dd/MM/yyyy").Equals(dtt_Fecha_ABorrar.ToString("dd/MM/yyyy"))).ToList(); if (lst_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_ABORRAR != null && lst_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_ABORRAR.Count > 0) { foreach (INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo mdl_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_ABORRAR in lst_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_ABORRAR) { lst_VerificacionFichajes_INTERNO_JornadaHoraFinalEmpleado_Validada_Modelo.Remove(lst_VerificacionFichajes_INTERNO_JornadaHoraFinalEmpleado_Validada_Modelo.Where(m => m.IdEmpleado.Equals(mdl_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_ABORRAR.IdEmpleado) && m.IdEmpresa.Equals(mdl_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_ABORRAR.IdEmpresa) && m.Fecha.ToString("dd/MM/yyyy").Equals(mdl_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_ABORRAR.Fecha.ToString("dd/MM/yyyy"))) .FirstOrDefault()); } } //................................................................................................................................................................................................................................................................ if (_bol_Grabar_Diccionarios_XML) { //Grabar en Fichero .................................................................................................................................................................................. Crear_Directorios(_lng_CodigoCliente, _dtt_Actual); //Borro el Fichero que existe y guardo los nuevos registros if (File.Exists(str_Fichero)) { File.Delete(str_Fichero); } string str_Datos_Guardar = ""; List lst_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_PORFECHA = lst_VerificacionFichajes_INTERNO_JornadaHoraFinalEmpleado_Validada_Modelo.Where(m => m.Fecha.ToString("dd/MM/yyyy").Equals(_dtt_Actual.ToString("dd/MM/yyyy"))).ToList(); if (lst_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_PORFECHA != null && lst_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_PORFECHA.Count > 0) { foreach (INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo mdl_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_Modelo in lst_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_PORFECHA) { str_Datos_Guardar = mdl_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_Modelo.IdJornadaLinea + "|" + mdl_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_Modelo.IdEmpleado + "|" + mdl_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_Modelo.IdEmpresa + "|" + mdl_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo_Modelo.Fecha.ToString("yyyyMMddHHmmss") + System.Environment.NewLine; File.AppendAllText(str_Fichero, str_Datos_Guardar); } } } } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(Verificacion_Fichajes_Diccionarios) + "" + nameof(Actualizar_Diccionario_JornadaLineaHoraFinalYaValidadas)); } } #endregion #region DCT_DETALLEFICHAJEYAVALIDADOS public static void Actualizar_Diccionario_Informes_PorFechas(long _lng_CodigoCliente, DateTime _dtt_Actual, long _lng_idInformeTipo, bool _bol_Grabar_Diccionarios_XML) { try { string str_Ruta_NombreFichero = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\" + _lng_CodigoCliente + @"\" + _dtt_Actual.ToString("yyyyMMdd") + @"\" + Variables_KairosPRO.G_STR_NOMBREFICHEROS_DICCIONARIO_DETALLEFICHAJEYAVALIDADOS; List lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo = null; if (Variables_KairosPRO.G_DCT_DETALLEFICHAJEYAVALIDADOS.ContainsKey(_lng_CodigoCliente)) { lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo = Variables_KairosPRO.G_DCT_DETALLEFICHAJEYAVALIDADOS[_lng_CodigoCliente]; INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo mdl_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo = lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo.Where(m => m.IdInformeTipo.Equals(_lng_idInformeTipo) && m.Fecha.ToString("dd/MM/yyyy").Equals(_dtt_Actual.ToString("dd/MM/yyyy"))) .FirstOrDefault(); if (mdl_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo == null) { lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo.Add(new INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo(_dtt_Actual, _lng_idInformeTipo)); Variables_KairosPRO.G_DCT_DETALLEFICHAJEYAVALIDADOS[_lng_CodigoCliente] = lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo; } } else { lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo = new List(); lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo.Add(new INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo(_dtt_Actual, _lng_idInformeTipo)); Variables_KairosPRO.G_DCT_DETALLEFICHAJEYAVALIDADOS.Add(_lng_CodigoCliente, lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo); } //Borrar los registros de hace viejos ........................................................................................................................................................................................................................ DateTime dtt_Fecha_ABorrar = _dtt_Actual.AddDays(Variables_KairosPRO.G_INT_NUMERODIASACONSIDERAR_FICHEROSVIEJOS); List lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo_ABORRAR = lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo.Where(m => m.Fecha.ToString("dd/MM/yyyy").Equals(dtt_Fecha_ABorrar.ToString("dd/MM/yyyy"))).ToList(); if (lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo_ABORRAR != null && lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo_ABORRAR.Count > 0) { foreach (INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo mdl_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo_ABORRAR in lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo_ABORRAR) { lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo.Remove(lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo.Where(m => m.IdInformeTipo.Equals(mdl_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo_ABORRAR.IdInformeTipo) && m.Fecha.ToString("dd/MM/yyyy").Equals(mdl_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo_ABORRAR.Fecha.ToString("dd/MM/yyyy"))) .FirstOrDefault()); } } //........................................................................................................................................................................................................................................................ if (_bol_Grabar_Diccionarios_XML) { //Grabar en Fichero .................................................................................................................................................................................. Crear_Directorios(_lng_CodigoCliente, _dtt_Actual); //Borro el Fichero que existe y guardo los nuevos registros if (File.Exists(str_Ruta_NombreFichero)) { File.Delete(str_Ruta_NombreFichero); } string str_Datos_Guardar = ""; List lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo_PORFECHA = lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo.Where(m => m.Fecha.ToString("dd/MM/yyyy").Equals(_dtt_Actual.ToString("dd/MM/yyyy"))).ToList(); if (lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo_PORFECHA != null && lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo_PORFECHA.Count > 0) { foreach (INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo mdl_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo in lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo_PORFECHA) { str_Datos_Guardar = mdl_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo.IdInformeTipo + "|" + mdl_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo.Fecha.ToString("yyyyMMddHHmmss") + System.Environment.NewLine; File.AppendAllText(str_Ruta_NombreFichero, str_Datos_Guardar); } } //.................................................................................................................................................................................................... } } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(Verificacion_Fichajes_Diccionarios) + "" + nameof(Actualizar_Diccionario_Informes_PorFechas)); } } #endregion public static void Vaciar_Diccionarios() { try { //Vaciar Variables_KairosPRO.G_DCT_JORNADASLINEASHORAINICIALYAVALIDADAS.Clear(); Variables_KairosPRO.G_DCT_JORNADASLINEASHORAFINALYAVALIDADAS.Clear(); Variables_KairosPRO.G_DCT_DETALLEFICHAJEYAVALIDADOS.Clear(); } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(Verificacion_Fichajes_Diccionarios) + "/" + nameof(Vaciar_Diccionarios)); } } public static void Cargar_Diccionarios(long _lng_CodigoCliente) { try { //Instancias if (!Variables_KairosPRO.G_DCT_JORNADASLINEASHORAINICIALYAVALIDADAS.ContainsKey(_lng_CodigoCliente)) { Variables_KairosPRO.G_DCT_JORNADASLINEASHORAINICIALYAVALIDADAS.Add(_lng_CodigoCliente, new List()); } if (!Variables_KairosPRO.G_DCT_JORNADASLINEASHORAFINALYAVALIDADAS.ContainsKey(_lng_CodigoCliente)) { Variables_KairosPRO.G_DCT_JORNADASLINEASHORAFINALYAVALIDADAS.Add(_lng_CodigoCliente, new List()); } if (!Variables_KairosPRO.G_DCT_DETALLEFICHAJEYAVALIDADOS.ContainsKey(_lng_CodigoCliente)) { Variables_KairosPRO.G_DCT_DETALLEFICHAJEYAVALIDADOS.Add(_lng_CodigoCliente, new List()); } List lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo = new List(); List lst_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo = new List(); List lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo = new List(); string str_Directorio = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\" + _lng_CodigoCliente; //Leemos todos los directorio del Cliente if (Directory.Exists(str_Directorio)) { DirectoryInfo obj_DirectoryInfo = new DirectoryInfo(str_Directorio); foreach (var fi in obj_DirectoryInfo.GetDirectories()) { //Leer Ficheros DirectoryInfo obj_DirectoryInfo_Ficheros = new DirectoryInfo(str_Directorio + @"\" + fi.Name.ToString()); foreach (var obj_Ficheros in obj_DirectoryInfo_Ficheros.GetFiles()) { if (File.Exists(str_Directorio + @"\" + fi.Name.ToString() + @"\" + obj_Ficheros.Name.ToString())) { int int_Contador = 0; string str_Line; // Read the file and display it line by line. System.IO.StreamReader obj_File = new System.IO.StreamReader(str_Directorio + @"\" + fi.Name.ToString() + @"\" + obj_Ficheros.Name.ToString()); while ((str_Line = obj_File.ReadLine()) != null) { string[] arr_Valores = str_Line.Split('|'); if (arr_Valores != null && arr_Valores.Count() > 0) { //JORNADASLINEASHORAINICIALYAVALIDADAS if (obj_Ficheros.Name.ToString().Equals(Variables_KairosPRO.G_STR_NOMBREFICHEROS_DICCIONARIO_JORNADASLINEASHORAINICIALYAVALIDADAS)) { if (arr_Valores != null && arr_Valores[0].Trim().Length > 0) { lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo.Add(new INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo( long.Parse(arr_Valores[0]), long.Parse(arr_Valores[1]), DateTime.ParseExact(arr_Valores[3], "yyyyMMddHHmmss", CultureInfo.InvariantCulture), long.Parse(arr_Valores[2]))); } } // JORNADASLINEASHORAFINALYAVALIDADAS else if (obj_Ficheros.Name.ToString().Equals(Variables_KairosPRO.G_STR_NOMBREFICHEROS_DICCIONARIO_JORNADASLINEASHORAFINALYAVALIDADAS)) { lst_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo.Add(new INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo( long.Parse(arr_Valores[0]), long.Parse(arr_Valores[1]), DateTime.ParseExact(arr_Valores[3], "yyyyMMddHHmmss", CultureInfo.InvariantCulture), long.Parse(arr_Valores[2]))); } //DETALLEFICHAJEYAVALIDADOS else if (obj_Ficheros.Name.ToString().Equals(Variables_KairosPRO.G_STR_NOMBREFICHEROS_DICCIONARIO_DETALLEFICHAJEYAVALIDADOS)) { lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo.Add(new INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo( DateTime.ParseExact(arr_Valores[1], "yyyyMMddHHmmss", CultureInfo.InvariantCulture), long.Parse(arr_Valores[0]))); } } int_Contador++; } obj_File.Close(); } } } } Variables_KairosPRO.G_DCT_JORNADASLINEASHORAFINALYAVALIDADAS[_lng_CodigoCliente] = lst_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo; Variables_KairosPRO.G_DCT_JORNADASLINEASHORAINICIALYAVALIDADAS[_lng_CodigoCliente] = lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo; Variables_KairosPRO.G_DCT_DETALLEFICHAJEYAVALIDADOS[_lng_CodigoCliente] = lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo; } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(Verificacion_Fichajes_Diccionarios) + "/" + nameof(Cargar_Diccionarios)); } } } }