示例#1
0
        public ResultadoOperacionDto GuardarListaNotificacion(ListaNotificacionDto dto, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                resultado = ListaNotificacionRepository.Guardar(dto);

                var param = new List <object>()
                {
                    dto.Nombre
                };
                var informacionAuditoria = new InformacionAuditoriaDto(
                    idUsuarioExec,
                    dto.IdListaNotificacion == 0 ? ConstantsAccionAuditable.Insertar : ConstantsAccionAuditable.Actualizar,
                    ConstantsModulo.ListasNotificacion,
                    dto.IdListaNotificacion == 0 ? MensajesServicios.InsertarListaNotificacion : MensajesServicios.ActualizarListaNotificacion,
                    param,
                    idEmpresaExc
                    );
                resultado.InformacionAuditoria = informacionAuditoria;
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }

            return(resultado);
        }
示例#2
0
        /// <summary>
        /// Genera el registro de auditoría para bitacorizar la exportación a excel de los destinatarios de una lista de notificación.
        /// </summary>
        /// <param name="idListaNotificacion">Identificador de la lista de notificación.</param>
        /// <param name="idUsuarioExec">Identificador del usuario que exporto la información.</param>
        /// <param name="idEmpresaExc">Identificador de la empresa que realiza esta acción.</param>
        /// <returns>Resultado de la operación.</returns>
        public ResultadoOperacionDto RegistrarAccionAuditoriaExportarExcelDestinatarios(long idListaNotificacion, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true
            };

            try
            {
                var param = new List <object> {
                    ListaNotificacionRepository.Obtener(idListaNotificacion).Nombre
                };
                var informacionAuditoria = new InformacionAuditoriaDto(
                    idUsuarioExec,
                    ConstantsAccionAuditable.Exportar,
                    ConstantsModulo.ListasNotificacion,
                    MensajesServicios.ExportarExcelDestinatariosNotificacion,
                    param,
                    idEmpresaExc
                    );
                RegistrarAccionAuditoria(informacionAuditoria);
            }
            catch (Exception ex)
            {
                LogUtil.Error(ex);
                resultado.Resultado            = false;
                resultado.InformacionAuditoria = null;
            }
            return(resultado);
        }
示例#3
0
        public ResultadoOperacionDto BorrarDestinatarioNotificacion(long idDestinatarioNotificacion, long idUsuarioExec, long idEmpresaExc)
        {
            var resultado = new ResultadoOperacionDto();

            try
            {
                var dto   = DestinatarioNotificacionRepository.Obtener(idDestinatarioNotificacion);
                var param = new List <object> {
                    dto.Nombre, ListaNotificacionRepository.Obtener(dto.IdListaNotificacion).Nombre
                };
                resultado.InformacionAuditoria = new InformacionAuditoriaDto(
                    idUsuarioExec,
                    ConstantsAccionAuditable.Borrar,
                    ConstantsModulo.ListasNotificacion,
                    MensajesServicios.BorrarDestinatarioNotificacion,
                    param,
                    idEmpresaExc
                    );
                DestinatarioNotificacionRepository.Borrar(idDestinatarioNotificacion);
                resultado.Resultado        = true;
                resultado.InformacionExtra = true;
            }
            catch (Exception exception)
            {
                resultado.Resultado            = false;
                resultado.Mensaje              = exception.Message;
                resultado.InformacionExtra     = exception;
                resultado.InformacionAuditoria = null;
            }
            return(resultado);
        }
示例#4
0
        /// <summary>
        /// Envía el correo de notificación a la lista de distribución:
        /// En caso de procesamiento existoso, a la lista de distribución para un procesamiento exitoso
        /// En caso de un procesamiento no existoso a la lista de distribución para un procesamiento no exitoso
        /// Estas listas están dadas por parámetros de configuración generales
        /// </summary>
        /// <param name="bitacora">Objeto de bitácora actualmente procesado</param>
        private void NotificarAListaDeDistribucion(BitacoraVersionDocumento bitacora, DocumentoInstanciaXbrlDto documentoInstancia)
        {
            ParametroSistema paramLista = null;

            if (bitacora.Estatus == DistribucionDocumentoConstants.DISTRIBUCION_ESTATUS_APLICADO)
            {
                paramLista = ParametroSistemaRepository.GetQueryable(x => x.Nombre.Equals(ConstantsParametrosSistema.CLAVE_PARAM_LISTA_DIST_EXITO_XBRL)).FirstOrDefault();
            }
            else if (bitacora.Estatus == DistribucionDocumentoConstants.DISTRIBUCION_ESTATUS_ERROR)
            {
                paramLista = ParametroSistemaRepository.GetQueryable(x => x.Nombre.Equals(ConstantsParametrosSistema.CLAVE_PARAM_LISTA_DIST_ERROR_XBRL)).FirstOrDefault();
            }
            if (paramLista != null)
            {
                var lista = ListaNotificacionRepository.ObtenerListaNotificacionCompletaPorClave(paramLista.Valor);
                if (lista != null)
                {
                    EnviarCorreoALista(lista, bitacora, documentoInstancia);
                }
            }
        }
示例#5
0
 /// <summary>
 /// Retorna una lista de notificación basandose en su identificador.
 /// </summary>
 /// <returns>Un entity con la información de una lista de notificación.</returns>
 public ListaNotificacionDto ObtenerListaNotificacion(long idListaNotificacion)
 {
     return(ListaNotificacionRepository.Obtener(idListaNotificacion));
 }
示例#6
0
 /// <summary>
 /// Retorna las listas de notificación que cumplan con un criterio de busqueda.
 /// </summary>
 /// <returns>Lista con las listas de notificación.</returns>
 public IQueryable <ListaNotificacionDto> ObtenerListasNotificacion(string search)
 {
     return(ListaNotificacionRepository.Obtener(search));
 }
示例#7
0
 /// <summary>
 /// Retorna todas las listas de notificación existentes en BD.
 /// </summary>
 /// <returns>Lista con todas las listas de notificación existentes.</returns>
 public List <ListaNotificacionDto> ObtenerListasNotificacion()
 {
     return(ListaNotificacionRepository.Obtener());
 }