Пример #1
0
        private VerificadorPLD resultadoDefault()
        {
            VerificadorPLD _resultadoDefault = new VerificadorPLD();

            _resultadoDefault.Tipificacion   = 1;
            _resultadoDefault.BloqueoUsuario = false;
            _resultadoDefault.BloqueoProceso = false;
            _resultadoDefault.Mensaje        = "";
            _resultadoDefault.CreoBitacora   = false;
            _resultadoDefault.EnvioCorreo    = false;
            return(_resultadoDefault);
        }
Пример #2
0
        /// <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);
        }
Пример #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 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);
        }
Пример #5
0
        /// <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);
        }
Пример #6
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);
        }
Пример #7
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);
        }