using Exferia_Aplicacion.General; using Exferia_Aplicacion.Modelos_Informes; using Exferia_KairosPRO._1_Modelos; using Exferia_KairosPRO._2_Datos; using Exferia_KairosPRO_EF; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Exferia_KairosPRO.General { public class Verificacion_Pausas_EnvioEmail { #region Variables privadas private TMP_Emails_PausasIncidencias_Datos g_obj_TMP_Emails_PausasIncidencias_Datos = new TMP_Emails_PausasIncidencias_Datos(); private KRS_Empleados_Datos g_obj_KRS_Empleados_Datos = new KRS_Empleados_Datos(); private KRSS_Pausas_Datos g_obj_KRSS_Pausas_Datos = new KRSS_Pausas_Datos(); private KRS_JornadasPausas_Datos g_obj_KRS_JornadasPausas_Datos = new KRS_JornadasPausas_Datos(); #endregion public void Pausas_Invalidas(long _lng_CodigoCliente) { try { //Emails pendiente de Enviar de validacion de Pausass List lst_TMP_Emails_PausasIncidencias = g_obj_TMP_Emails_PausasIncidencias_Datos.Obtener_Listado(_lng_CodigoCliente); if (lst_TMP_Emails_PausasIncidencias != null && lst_TMP_Emails_PausasIncidencias.Count > 0) { foreach (TMP_Emails_PausasIncidencias mdl_TMP_Emails_PausasIncidencias in lst_TMP_Emails_PausasIncidencias) { INTERNO_KairosPRO_PausaIncidencias_Modelo mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo = null; KRS_Empleados mdl_KRS_Empleados = g_obj_KRS_Empleados_Datos.Obtener_Modelo_Por_Id(mdl_TMP_Emails_PausasIncidencias.idEmpleado,_lng_CodigoCliente,true,true ); if (mdl_KRS_Empleados != null) { mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo = new INTERNO_KairosPRO_PausaIncidencias_Modelo(); //Datos del Empleado mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Empleado_Nombre = mdl_KRS_Empleados.nombre; mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Empleado_Foto = null; if (mdl_KRS_Empleados.KRS_EmpleadosFotos != null && mdl_KRS_Empleados.KRS_EmpleadosFotos.Count > 0) { mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Empleado_Foto = mdl_KRS_Empleados.KRS_EmpleadosFotos.FirstOrDefault().foto; } //Dia mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Dia = mdl_TMP_Emails_PausasIncidencias.fecha; //Datos de la Pausas if (mdl_TMP_Emails_PausasIncidencias.idPausa!=null) { KRSS_Pausas mdl_KRSS_Pausas = g_obj_KRSS_Pausas_Datos.Obtener_Modelo_Por_Id(mdl_TMP_Emails_PausasIncidencias.idPausa.Value, _lng_CodigoCliente, true, true); if (mdl_KRSS_Pausas != null) { //Datos del Dispositivo if (mdl_KRSS_Pausas.KRSS_DispositivosModelo != null) { mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Dispositivo_Marca = mdl_KRSS_Pausas.KRSS_DispositivosModelo.marca; mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Dispositivo_Modelo = mdl_KRSS_Pausas.KRSS_DispositivosModelo.modelo; mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Dispositivo_MAC = mdl_KRSS_Pausas.KRSS_DispositivosModelo.mac; } else { mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Dispositivo_Marca = ""; mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Dispositivo_Modelo = ""; mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Dispositivo_MAC = ""; } //Pausa_Observaciones mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Pausa_Observaciones = mdl_KRSS_Pausas.observaciones; //Pausa_Foto mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Pausa_Foto = null; if (mdl_KRSS_Pausas.KRSS_PausasFotos != null && mdl_KRSS_Pausas.KRSS_PausasFotos.Count > 0) { mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Pausa_Foto = mdl_KRSS_Pausas.KRSS_PausasFotos.FirstOrDefault().foto; } } } //Pausa_Duracion mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Pausa_Duracion = mdl_TMP_Emails_PausasIncidencias.duracionPausa; //Pausa_NumeroPausasRealizadas mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.Pausa_NumeroPausasRealizadas = mdl_TMP_Emails_PausasIncidencias.numeroPausasRealizadas; //Datos de la Jornada if (mdl_TMP_Emails_PausasIncidencias.idJornadaPausa != null) { KRS_JornadasPausas mdl_KRS_JornadasPausas = g_obj_KRS_JornadasPausas_Datos.Obtener_Modelo_Por_Id(mdl_TMP_Emails_PausasIncidencias.idJornadaPausa.Value,_lng_CodigoCliente); if (mdl_KRS_JornadasPausas != null) { mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.JornadaPausa_Duracion = mdl_KRS_JornadasPausas.duracionMinutos; mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.JornadaPausa_NumeroPorJornada = mdl_KRS_JornadasPausas.numeroPausas; } } //Incidencia Tipo mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo.IncidenciaTipo = mdl_TMP_Emails_PausasIncidencias.incidencia_descripcion; if (Verificacion_Pausas_Email.Enviar_Pausa_Incidencia(_lng_CodigoCliente, mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo,mdl_KRS_Empleados)) { //Se borra el registro de base de datos g_obj_TMP_Emails_PausasIncidencias_Datos.Borrar(mdl_TMP_Emails_PausasIncidencias.id, _lng_CodigoCliente); } } else { mdl_INTERNO_KairosPRO_PausaIncidencias_Modelo = null; //No hay Empleado Control_Errores.Errores_Log("No hay empleado", null, nameof(Verificacion_Pausas_EnvioEmail) + "/" + nameof(Pausas_Invalidas)); } } } } catch (Exception ex) { Control_Errores.Errores_Log("", ex, nameof(Verificacion_Pausas_EnvioEmail) + "/" + nameof(Pausas_Invalidas)); } } } }