451 lines
37 KiB
C#
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));
|
|
}
|
|
}
|
|
}
|
|
}
|