132 lines
7.5 KiB
C#
132 lines
7.5 KiB
C#
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<TMP_Emails_PausasIncidencias> 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));
|
|
}
|
|
}
|
|
}
|
|
}
|