Exferia/Exferia_KairosPro/Exferia_KairosPRO/General/Verificacion_Pausas_EnvioEm...

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));
}
}
}
}