Exferia/Exferia_KairosPro/Exferia_KairosPRO/General/Verificacion_Fichajes_Dicci...

451 lines
37 KiB
C#

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<INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo> 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<INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo>();
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<INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo> 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<INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo> 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<INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo> 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<INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo>();
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<INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo> 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<INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo> 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<INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo> 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<INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo>();
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<INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo> 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<INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo> 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<INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo>());
}
if (!Variables_KairosPRO.G_DCT_JORNADASLINEASHORAFINALYAVALIDADAS.ContainsKey(_lng_CodigoCliente))
{
Variables_KairosPRO.G_DCT_JORNADASLINEASHORAFINALYAVALIDADAS.Add(_lng_CodigoCliente, new List<INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo>());
}
if (!Variables_KairosPRO.G_DCT_DETALLEFICHAJEYAVALIDADOS.ContainsKey(_lng_CodigoCliente))
{
Variables_KairosPRO.G_DCT_DETALLEFICHAJEYAVALIDADOS.Add(_lng_CodigoCliente, new List<INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo>());
}
List<INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo> lst_INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo = new List<INTERNO_VerificacionFichajes_JornadaHoraInicialEmpleado_Validada_Modelo>();
List<INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo> lst_INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo = new List<INTERNO_VerificacionFichajes_JornadaHoraFinalEmpleado_Validada_Modelo>();
List<INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo> lst_INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo = new List<INTERNO_VerificacionFichajes_InformeDetalleFichaje_Validado_Modelo>();
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));
}
}
}
}