示例#1
0
        public ServiceResult editarBitacoraPLD(BitacoraPLD parametros)
        {
            ServiceResult resultado = new ServiceResult();
            try
            {
                resultado.ResultValue = (new VerificadorPLDLogic()).editarBitacoraPLD(parametros);
                if ((int)resultado.ResultValue > 0)
                {
                    resultado.ServiceOk = true;
                }
                else
                {
                    resultado.ServiceOk = false;
                }
            }
            catch (Exception ex)
            {
                resultado.ErrorMessage = "Error en ConfiguracionPLDServices.editarConfiguracionPLD: " + ex.Message;
#if (DEBUG)
                Console.WriteLine("Error en ConfiguracionPLDServices.editarConfiguracionPLD: " + ex.Message);
#else
                    //EventLogManager.LogErrorEntry(result.ErrorMessage);
#endif
            }
            return resultado;
        }
示例#2
0
        //public List<BitacoraPLD> ListadoBusquedaBitacoraPLD(BitacoraPLD bitacora)
        //{
        //    List<BitacoraPLD> result = null;
        //    try
        //    {
        //        //using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
        //        //{
        //        result = VerificadorPLDDA.ListadoBusquedaBitacoraPLD(bitacora);
        //        //    ts.Complete();
        //        //}
        //    }
        //    catch (Exception ex)
        //    {
        //        throw ex;
        //    }
        //    return result;
        //} //Opción 2   leerBusqueda = 2

        public List<BitacoraPLD> TotalCorreo(BitacoraPLD parametros)//Opción 3   leerTotalCorreo = 3
        {
            List<BitacoraPLD> result = null;
            try
            {
                using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
                {
                    result = VerificadorPLDDA.TotalCorreo();
                    ts.Complete();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return result;
        }
示例#3
0
 public VerificadorPLD ServicioVerificadorPLD(BitacoraPLD parametros)
 {
     VerificadorPLD result = null;
     try
     {
         //using (TransactionScope tx = new TransactionScope(TransactionScopeOption.Required))
         //{
         result = VerificadorPLDDA.ServicioVerificadorPLD(parametros);
         //    tx.Complete();
         //}
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return result;
 }
示例#4
0
 public List<BitacoraPLD> ListadoBusquedaBitacoraPLD(BitacoraPLD bitacora)
 {
     List<BitacoraPLD> result = null;
     try
     { 
         //using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
         //{
             result = VerificadorPLDDA.ListadoBusquedaBitacoraPLD(bitacora);
         //    ts.Complete();
         //}
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return result;
 } //Opción 2   leerBusqueda = 2
示例#5
0
        public int DesbloquearUsuario(BitacoraPLD parametros)//Opción 4   desbloquearUsuario = 4,
        {
            int? RegistroUpdate = 0;
            try
            {
                using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
                {
                    RegistroUpdate = VerificadorPLDDA.desbloquearUsuario(parametros);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return RegistroUpdate.Value;
        }
示例#6
0
 public VerificadorPLD ServicioVerificadorPLD(BitacoraPLD parametros)
 {
     VerificadorPLD result = null;
     try
     {
         result = (new VerificadorPLDLogic()).ServicioVerificadorPLD(parametros);
     }
     catch (Exception ex)
     {
         #if(DEBUG)
         Console.WriteLine("Error en VerificadorPLDServices.ServicioVerificadorPLD: " + ex.Message);
         #else
             EventLogManager.LogErrorEntry("Error en VerificadorPLDServices.ServicioVerificadorPLD: " + ex.Message);
             //TODO: Codificar envío de notificación de error al EventLog
         #endif
     }
     return result;
 }
示例#7
0
        public List<BitacoraPLD> ListadoBusquedaBitacoraPLD(BitacoraPLD bitacora)
        {
            List<BitacoraPLD> result = null;
            try
            {
                result = (new VerificadorPLDLogic()).ListadoBusquedaBitacoraPLD(bitacora);
            }
            catch (Exception ex)
            {
#if(DEBUG)
                Console.WriteLine("Error en BitacoraPLDServices.ListadoBusquedaBitacoraPLD: " + ex.Message);
#else
            EventLogManager.LogErrorEntry("Error en BitacoraPLDServices.ListadoBusquedaBitacoraPLD: " + ex.Message);
            //TODO: Codificar envío de notificación de error al EventLog
#endif
            }
            return result;
        }
        /// <summary>
        /// Entrada general de servicio
        /// </summary>
        /// <param name="parametros">Parámetros de configuración: persona incidencia, usuario, sucursal, cliente, sistema, etc. Para generar bitácora</param>
        /// <returns>Configuración del comportamiento del sistema, según los parámetros enviados</returns>
        public VerificadorPLD ServicioVerificadorPLD(BitacoraPLD parametros)
        {

            List<ResultadoBusquedaPLD> results = new List<ResultadoBusquedaPLD>();
            VerificadorPLD _resultadoServicio = new VerificadorPLD();

            try
            {
                results = BusquedaListaNegra(parametros.vchNombre, parametros.vchApPaterno, parametros.vchApMaterno, parametros.vchPersonaIncidencia);
                _resultadoServicio = resultadoServicio(results, parametros);
            }
            catch (Exception ex)
            {

                throw ex;
            }

            return _resultadoServicio;
        }
        /// <summary>
        /// Entrada general de servicio
        /// </summary>
        /// <param name="parametros">Parámetros de configuración: persona incidencia, usuario, sucursal, cliente, sistema, etc. Para generar bitácora</param>
        /// <returns>Configuración del comportamiento del sistema, según los parámetros enviados</returns>
        public VerificadorPLD ServicioVerificadorPLD(BitacoraPLD parametros)
        {

            List<ResultadoBusquedaPLD> results = new List<ResultadoBusquedaPLD>();
            VerificadorPLD _resultadoServicio = new VerificadorPLD();

            int? result = 0;

            try
            {                
                //Si el resultado existe en bitácora se omite la parametrización              
                string _nombreBusqueda = parametros.vchPersonaIncidencia != null ? 
                    parametros.vchPersonaIncidencia != "" ? parametros.vchPersonaIncidencia : 
                    parametros.vchNombre + " " + parametros.vchApPaterno + " " + parametros.vchApMaterno :
                    parametros.vchNombre + " " + parametros.vchApPaterno + " " + parametros.vchApMaterno ;
                VerificadorPLDDataContext bitacoraDA = new VerificadorPLDDataContext();
                //if (results.Count > 0)
                    //bitacoraDA.stp_CRUDBitacoraPLD(
                    //     ref result, (int)CRUD.desbloquearUsuarioServicio, null, results.First().VCHIDQEQ, parametros.vchUsuario, null, parametros.intSistema, null, null, null, null, null, null, null, null, null, null, null, null, false,null);
                    
                    //Nueva regla de negocio, primero se verifica en bitácora
               bitacoraDA.stp_ReglaNegocioRegistrosBitacora(ref result, _nombreBusqueda);

                //Existe registro con vigencia en días
                if (result > 0)
                {
                    //respuesta default     
                    _resultadoServicio = resultadoDefault();
                    return _resultadoServicio;
                }

                results = BusquedaListaNegra(parametros.vchNombre, parametros.vchApPaterno, parametros.vchApMaterno, parametros.vchPersonaIncidencia);
                _resultadoServicio = resultadoServicio(results, parametros);
            }
            catch (Exception ex)
            {

                throw ex;
            }

            return _resultadoServicio;
        }
示例#10
0
        private VerificadorPLD resultadoServicio(List<ResultadoBusquedaPLD> results, BitacoraPLD parametros)
        {
            VerificadorPLD _resultadoServicio = new VerificadorPLD();
            List<ConfiguracionPLD> configuracion = new List<ConfiguracionPLD>();
            ConfiguracionPLDDataAccess ConfiguracionPLDDA = new ConfiguracionPLDDataAccess();
            string cuentasTo;
            string cuentasCC;
            int? result = 0;
            try
            {
                // Ordena
                var query = from item in results
                            orderby item.vchIdentificadorInterno ascending //primero lista NEGRA, PEP y luego VENC
                            select item;

                //vchidqeq, es identificador único en lista negra: 173802, 
                VerificadorPDLDataContext bitacoraDA = new VerificadorPDLDataContext();
                if (results.Count > 0)
                    bitacoraDA.stp_CRUDBitacoraPLD(
                         ref result, (int)CRUD.desbloquearUsuarioServicio, null, results.First().VCHIDQEQ, parametros.vchUsuario, null, parametros.intSistema, null, null, null, null, null, null, null, null, null, null, null, null, false,null);
                //Existe registro con BE - BA en true
                if (result > 0)
                {
                    //respuesta default     
                    _resultadoServicio = resultadoDefault();
                    return _resultadoServicio;
                }
                
                if (query.Count() != 0 && parametros.intSistema != null)
                {
                    configuracion = ConfiguracionPLDDA.ListadoBusquedaConfiguracionPLD((int)query.First().intTipoTipificacionID, (Int16)parametros.intSistema);
                }
                else
                {
                    if (query.Count() == 0)
                        _resultadoServicio = resultadoDefault();
                }

                foreach (ResultadoBusquedaPLD item in query)
                {
                    //manejo de escenarios por configuración: Implementar respuesta por default(normal; BA, BE = true) y escenarios

                    //Tipificacion  
                    _resultadoServicio.Tipificacion = query.First().intTipoTipificacionID != null ? (int)query.First().intTipoTipificacionID : 1;

                    //BloqueoUsuario  
                    _resultadoServicio.BloqueoUsuario = configuracion.Count != 0 ? configuracion.First().bitBloqueoUsuario : false;

                    //BloqueoProceso   ----- Automatizar        
                    _resultadoServicio.BloqueoProceso = configuracion.Count != 0 ? configuracion.First().bitBloqueoProceso : false;

                    //Mensaje  
                    _resultadoServicio.Mensaje = configuracion.Count != 0 ? configuracion.First().vchMensaje : "";

                    //CreoBitacora      
                    int regresoBitacora = 0;
                    if (configuracion.Count != 0)
                    {
                        if ((bool)configuracion.First().bitBitacora)
                        {
                            regresoBitacora = escribirBitacora(item, parametros);
                            _resultadoServicio.CreoBitacora = regresoBitacora == 0 ? configuracion.First().bitBitacora : regresoBitacora > 0 ? true : false;
                        }
                    }
                    else
                    {
                        _resultadoServicio.CreoBitacora = false;
                    }


                    //EnvioCorreo --- al final se sustituye las listas por el hardcode. Además de agregar la posibilidad de CC                       
                    if (configuracion.Count != 0)
                    {
                        string servidor = CuentaSistema;

                        cuentasTo = configuracion.First().vchCorreosPara != null ? configuracion.First().vchCorreosPara : "";
                        cuentasCC = configuracion.First().vchCorreosCC != null ? configuracion.First().vchCorreosCC : "";

                        //correo con uso de parámetros en app.config de testHost
                        _resultadoServicio.EnvioCorreo = regresoBitacora == 0 ? configuracion.First().bitEnvioCorreo : configuracion.First().bitEnvioCorreo == true ? enviarCorreo(cuentasTo, CuentaSistema, cuentasCC, Servidor, Puerto, parametros, item, configuracion.First()) : false;
                    }
                    else
                    {
                        _resultadoServicio.EnvioCorreo = false;
                    }


                    if (item.vchIdentificadorInterno == TipoLista.NEGRA.ToString() || item.vchIdentificadorInterno == TipoLista.PEP.ToString())
                    {
                        break;
                    }
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }


            return _resultadoServicio;
        }
示例#11
0
        private bool enviarCorreo(string correoUsuario, string cuentaSistema, string cuentaCopia, string servidor, int puerto, BitacoraPLD _parametros, ResultadoBusquedaPLD _item, ConfiguracionPLD _configuracion)
        {
            try
            {
                clsEnvioDatos.Correo correo = new clsEnvioDatos.Correo();
                correo.strFrom = cuentaSistema;
                correo.strTo = correoUsuario;
                if (!string.IsNullOrEmpty(cuentaCopia))
                {
                    correo.strsCC = cuentaCopia;
                }
                _parametros.vchCliente = _parametros.vchCliente == null ? "" : _parametros.vchCliente;
                _parametros.vchSucursal = _parametros.vchSucursal == null ? "" : _parametros.vchSucursal;

                correo.strSubject = "SEGUIMIENTO LISTA - " + _item.vchIdentificadorInterno;
                correo.bHtml = true;
                //correo.strBody = "<table style='BACKGROUND-COLOR: tranparent;text-align:left;'><tr><td>Cliente:</td><td> <b>" + _parametros.vchCliente.ToUpper().ToString() + "</b></td></tr><tr><td>Nombre o razón social: </td><td><b>" + _item.VCHNOMCOMPLETO.ToUpper().ToString() + "</b></td></tr><tr><td>Sucursal:</td><td><b>" + _parametros.vchSucursal.ToUpper().ToString() + "</b></td></tr><tr><td>Listado: </td><td><b>" + _item.VCHTIPOLISTA.ToUpper().ToString() + "</b></td></tr></table>";
                correo.strBody = "<table style='FONT-SIZE: 11px; font-family: Tahoma, Helvetica, sans-serif; color:#000000;	padding:2px; background-color:#E8E9EE; BORDER-RIGHT:#003366 1px solid; BORDER-TOP: #003366 1px solid; BORDER-LEFT: #003366 1px solid; BORDER-BOTTOM: #003366 1px solid;cellspacing: 2;'>" +
                                    "<tr><td colspan='2' align='center' style='background-color:#FEFEFE;'>INFORMACIÓN USUARIO</td></tr>" +
                                    "<tr><td colspan='2'><hr /></td></tr>" +
                                    "<tr><td>CLIENTE: </td><td><b>" + (_parametros.vchCliente != null ? _parametros.vchCliente.ToUpper().ToString().ToUpper() : "---") + "</b></td></tr>" +
                                    "<tr><td>NOMBRE BUSQUEDA: </td><td><b>" + (_parametros.vchPersonaIncidencia != null ? _parametros.vchPersonaIncidencia.ToUpper().ToString().ToUpper() : (_parametros.vchNombre != null && _parametros.vchApPaterno != null && _parametros.vchApPaterno != null) ? _parametros.vchNombre.ToString().ToUpper() + " " + _parametros.vchApPaterno.ToString().ToUpper() + " " + _parametros.vchApMaterno.ToString().ToUpper() : "---") + "</b></td></tr>" +
                                    "<tr><td>SUCURSAL: </td><td><b>" + (_parametros.vchSucursal != null ? _parametros.vchSucursal.ToUpper().ToString().ToUpper() : "---") + "</b></td></tr>" +
                                     "<tr><td>USUARIO: </td><td><b>" + (_parametros.vchUsuario != null ? _parametros.vchUsuario.ToUpper().ToString().ToUpper() : "---") + "</b></td></tr>" +
                                    "<tr><td colspan='2'><hr /></td></tr>" +
                                    "<tr><td colspan='2' align='center' style='background-color:#FEFEFE;'>INFORMACIÓN CONFIGURACIÓN</td></tr>" +
                                    "<tr><td colspan='2'><hr /></td></tr>" +
                                    "<tr><td>IDQEQ: </td><td><b>" + (_item.VCHIDQEQ.ToUpper().ToString() != "" ? _item.VCHIDQEQ.ToUpper().ToString().ToUpper() : "---") + "</b></td></tr>" +
                                    "<tr><td>NOMBRE/RAZÓN SOCIAL[ENCONTRADO]: </td><td><b>" + (_item.VCHNOMCOMPLETO.ToUpper().ToString() != "" ? _item.VCHNOMCOMPLETO.ToUpper().ToString().ToUpper() : "---") + "</b></td></tr>" +
                                    "<tr><td>TIPO LISTA: </td><td><b>" + (_item.VCHTIPOLISTA.ToUpper().ToString() != "" ? _item.VCHTIPOLISTA.ToUpper().ToString().ToUpper() : "---") + "</b></td></tr>" +
                                    "<tr><td>TIPIFICACIÓN: </td><td><b>" + (_configuracion.vchIdentificadorInterno.ToString() != "" ? _configuracion.vchIdentificadorInterno.ToString().ToUpper() : "") + "</b></td></tr>" +
                                    "<tr><td>SISTEMA: </td><td><b>" + (_configuracion.vchNombreSistema.ToString() != "" ? _configuracion.vchNombreSistema.ToString().ToUpper() : "---") + "</b></td></tr>" +
                                    "<tr><td>BLOQUEO USUARIO: </td><td><b>" + _configuracion.vchbitBloqueoUsuario.ToString() + "</b></td></tr>" +
                                    "<tr><td>BLOQUEO PROCESO: </td><td><b>" + _configuracion.vchbitBloqueoProceso.ToString() + "</b></td></tr>" +
                                    "<tr><td colspan='2'><hr /></td></tr>" +
                                    "</table>";
                correo.strServidor = servidor;
                correo.intPuerto = puerto;
                correo.requiereCredenciales = true;
                correo.strUsuario = Usuario;
                correo.strClave = Contraseña;
                return clsEnvioDatos.EnviarCorreo(correo);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#12
0
 public int editarBitacoraPLD(BitacoraPLD _parametros)
 {
     int? RegistroUpdate = 0;
     try
     {
         using (VerificadorPDLDataContext dc = new VerificadorPDLDataContext(Helper.ConnectionString()))
         {
             dc.stp_CRUDBitacoraPLD(
                 ref RegistroUpdate, (int)CRUD.desbloquearUsuario, _parametros.intBitacoraID, _parametros.vchidqeq,
                 _parametros.vchUsuario, _parametros.vchSucursal, _parametros.intSistema, _parametros.vchPersonaIncidencia,
                 _parametros.vchNombre, _parametros.vchApPaterno, _parametros.vchApMaterno, _parametros.vchNombreBusq, _parametros.vchCliente,
                 _parametros.vchRelacionCliente, _parametros.vchComentario, _parametros.bitAutorizaProc, null, _parametros.bitHomonimo, _parametros.bitEstatus, null,_parametros.vchUsuarioAudit);
         }
         ConfiguracionPLD configuracion = new ConfiguracionPLDDataAccess().ListadoBusquedaConfiguracionPLD((int)_parametros.intTipoTipificacionID, (Int16)_parametros.intSistema).First();
         if (configuracion != null)
             if ((bool)configuracion.bitBloqueoUsuario)
             {
                 enviarCorreo(CuentaSistema, Usuario, "", Servidor, Puerto, _parametros.vchUsuario);
                 //enviarCorreo(CuentaSistema, "*****@*****.**", "", "mail.hcasamex.com.mx", 2525, _parametros.vchUsuario);
                 //enviarCorreo("*****@*****.**", "*****@*****.**", "", "mail.hcasamex.com.mx", 2525, _tipoLista(query.First().vchIdentificadorInterno), parametros, item)
             }
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return RegistroUpdate.Value;
 }
示例#13
0
        private int escribirBitacora(ResultadoBusquedaPLD _item, BitacoraPLD _parametros)
        {
            int? RegistroInsert = 0;
            try
            {
                using (VerificadorPLDDataContext cs = new VerificadorPLDDataContext(Helper.ConnectionString()))
                {                    
                    cs.stp_InsertarMST_DET_Bitacora(
                        ref RegistroInsert,                         
                        _parametros.vchPersonaIncidencia    != null ? _parametros.vchPersonaIncidencia.ToUpper()    : null,
                        _parametros.vchNombre               != null ? _parametros.vchNombre.ToUpper()               : null,
                        _parametros.vchApPaterno            != null ? _parametros.vchApPaterno.ToUpper()            : null,
                        _parametros.vchApMaterno            != null ? _parametros.vchApMaterno.ToUpper()            : null,         
                        _parametros.vchRelacionCliente,
                        _item.intIdLN,                              
                        _item.intTipoTipificacionID,      
                        _parametros.datFecha, 
                        _parametros.vchUsuario,                     
                        _parametros.intSistema,           
                        _parametros.vchComentario           != null ? _parametros.vchComentario.ToUpper()           : null
                        );
                }
            }
            catch (Exception ex)
            {               
                throw ex;
            }
            return RegistroInsert.Value;

        }
示例#14
0
 private int escribirBitacora(ResultadoBusquedaPLD _item, BitacoraPLD _parametros)
 {
     int? RegistroInsert = 0;
     try
     {
         using (VerificadorPDLDataContext dc = new VerificadorPDLDataContext(Helper.ConnectionString()))
         {
             dc.stp_CRUDBitacoraPLD(
                 ref RegistroInsert, (int)CRUD.insertar, null, _item.VCHIDQEQ, _parametros.vchUsuario,
                 _parametros.vchSucursal, _parametros.intSistema, _parametros.vchPersonaIncidencia,
                 _parametros.vchNombre, _parametros.vchApPaterno, _parametros.vchApMaterno, _parametros.vchNombreBusq,
                 _parametros.vchCliente, _parametros.vchRelacionCliente, null, null, null, null, null, null,null
                 );
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
     return RegistroInsert.Value;
 }
示例#15
0
        public int editarBitacoraPLD(BitacoraPLD parametros)//Opción 5   actualizar = 5
        {
            int? RegistroUpdate = 0;
            try
            {
               
                    RegistroUpdate = VerificadorPLDDA.editarBitacoraPLD(parametros);
                  
             
            }
            catch (Exception ex)
            {
                
                throw ex;
            }

            return RegistroUpdate.Value;
        }
示例#16
0
        public List<BitacoraPLD> ListadoBusquedaBitacoraPLD(BitacoraPLD bitacora)
        {
            List<BitacoraPLD> results = new List<BitacoraPLD>();
            try
            {
                using (VerificadorPDLDataContext dc = new VerificadorPDLDataContext(Helper.ConnectionString()))
                {
                    int? res = 0;
                    var query = from item in dc.stp_CRUDBitacoraPLD(
                                       ref res, (int)CRUD.leerBusqueda, null, null, bitacora.vchUsuario, null, bitacora.intSistema, null, null, null, null, null, bitacora.vchCliente, null, null, null, null, null, null, bitacora.bitHistorial,null)
                                select new BitacoraPLD()
                                {
                                    intBitacoraID = item.intBitacoraID,
                                    vchidqeq = item.vchidqeq,
                                    vchUsuario = item.vchUsuario,
                                    vchSucursal = item.vchSucursal,
                                    intSistema = item.intSistema,
                                    vchPersonaIncidencia = item.vchPersonaIncidencia,
                                    vchNombreCompleto = item.vchNombreCompleto/*item.vchNombre +" "+item.vchApPaterno+" "+item.vchApMaterno*/,
                                    vchNombre = item.vchNombre,
                                    vchApPaterno = item.vchApPaterno,
                                    vchApMaterno = item.vchApMaterno,
                                    vchCliente = item.vchCliente,
                                    vchRelacionCliente = item.vchRelacionCliente,
                                    vchComentario = item.vchComentario,
                                    bitAutorizaProc = item.bitAutorizaProc,
                                    bitHomonimo = item.bitHomonimo,
                                    intTipoTipificacionID = item.intTipoTipificacionID,
                                    datFecha = item.datFecha,
                                    datFechaRespuesta = item.datFechaRespuesta,
                                    vchNombreSistema = item.vchNombreSistema,
                                    vchTipoLista = item.vchTipoLista,
                                    vchIdentificadorInterno = item.vchIdentificadorInterno,
                                    vchCorreoHCM = item.vchCorreoHCM,
                                    vchUsuarioAudit=item.vchUsuarioAudit,
                                    vchUsuarioNombre = item.vchUsuarioNombre                                    

                                };
                    results.AddRange(query);
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }
            return results;
        }
示例#17
0
        public int editarBitacoraPLD(BitacoraPLD parametros)//Opción 5   actualizar = 5
        {
            int? RegistroUpdate = 0;
            try
            {
                using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required))
                {
                    RegistroUpdate = VerificadorPLDDA.editarBitacoraPLD(parametros);
                    ts.Complete();
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }

            return RegistroUpdate.Value;
        }
示例#18
0
        private VerificadorPLD resultadoServicio(List<ResultadoBusquedaPLD> results, BitacoraPLD parametros)
        {
            VerificadorPLD _resultadoServicio = new VerificadorPLD();
            List<ConfiguracionPLD> configuracion = new List<ConfiguracionPLD>();
            ConfiguracionPLDDataAccess ConfiguracionPLDDA = new ConfiguracionPLDDataAccess();
            string cuentasTo;
            string cuentasCC;
            
            try
            {
                // Ordena por tipo de lista y muestra primero los registros más recientes por id
                var query = from item in results
                            orderby item.vchIdentificadorInterno ascending, item.intIdLN descending  //primero lista NEGRA, PEP y luego VENC
                            select item;               
                
                if (query.Count() != 0 && parametros.intSistema != null)
                {
                    configuracion = ConfiguracionPLDDA.ListadoBusquedaConfiguracionPLD((int)query.First().intTipoTipificacionID, (Int16)parametros.intSistema);
                }
                else
                {
                    if (query.Count() == 0)
                        _resultadoServicio = resultadoDefault();
                }

                foreach (ResultadoBusquedaPLD item in query)
                {
                    //manejo de escenarios por configuración: Implementar respuesta por default(normal; BA, BE = true) y escenarios

                    //Tipificacion  
                    _resultadoServicio.Tipificacion = query.First().intTipoTipificacionID != null ? (int)query.First().intTipoTipificacionID : 1;

                    //BloqueoUsuario  
                    _resultadoServicio.BloqueoUsuario = configuracion.Count != 0 ? configuracion.First().bitBloqueoUsuario : false;

                    //BloqueoProceso   ----- Automatizar        
                    _resultadoServicio.BloqueoProceso = configuracion.Count != 0 ? configuracion.First().bitBloqueoProceso : false;

                    //Mensaje  
                    _resultadoServicio.Mensaje = configuracion.Count != 0 ? configuracion.First().vchMensaje : "";

                    //CreoBitacora      
                    int regresoBitacora = 0;
                    if (configuracion.Count != 0)
                    {
                        if ((bool)configuracion.First().bitBitacora)
                        {
                            //El SP de insertar bitácora evita el ingreso de registros duplicados por nombre completo, si el registro existe devuelve 0. Este valor se emplea para simular el ingreso a bitácora y el envío de correo
                            regresoBitacora = escribirBitacora(item, parametros);
                            _resultadoServicio.CreoBitacora = regresoBitacora == 0 ? configuracion.First().bitBitacora : regresoBitacora > 0 ? true : false;
                        }
                    }
                    else
                    {
                        _resultadoServicio.CreoBitacora = false;
                    }


                    //EnvioCorreo 
                    if (configuracion.Count != 0)
                    {
                        string servidor = CuentaSistema;

                        cuentasTo = configuracion.First().vchCorreosPara != null ? configuracion.First().vchCorreosPara : "";
                        cuentasCC = configuracion.First().vchCorreosCC != null ? configuracion.First().vchCorreosCC : "";

                        //correo con uso de parámetros en app.config de testHost
                        _resultadoServicio.EnvioCorreo = regresoBitacora == 0 ? configuracion.First().bitEnvioCorreo : configuracion.First().bitEnvioCorreo == true ? enviarCorreo(cuentasTo, CuentaSistema, cuentasCC, Servidor, Puerto, parametros, item, configuracion.First()) : false;
                    }
                    else
                    {
                        _resultadoServicio.EnvioCorreo = false;
                    }

                    //Identificador interno
                    if (item.vchIdentificadorInterno == TipoLista.NEGRA.ToString() || item.vchIdentificadorInterno == TipoLista.PEP.ToString())
                    {
                        break;
                    }
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }


            return _resultadoServicio;
        }