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