/// <summary> /// Método que atiene una solicitud de procesamiento de distribuciones de documentos de instancia XBRL /// Intenta realizar las distribuciones configuradas que no han sido todavía exitosas /// </summary> /// <param name="message"></param> public void OnMessage(Message message) { messageCount++; LogUtil.Info(String.Format("({0})Mensaje recibido para el procemiento de un documento XBRL", messageCount)); try { MapMessage mapMessage = message as MapMessage; if (mapMessage != null) { LogUtil.Info("Map Message (count) = " + mapMessage.FieldCount); if (mapMessage.ItemExists(DistribucionDocumentoConstants.PARAM_MENSAJE_ID_DOCUMENTO) && mapMessage.ItemExists(DistribucionDocumentoConstants.PARAM_MENSAJE_ID_VERSION)) { var idDocumento = mapMessage.GetLong(DistribucionDocumentoConstants.PARAM_MENSAJE_ID_DOCUMENTO); var idVersion = mapMessage.GetLong(DistribucionDocumentoConstants.PARAM_MENSAJE_ID_VERSION); var resultado = ProcesarDistribucionDocumentoXBRLService. DistribuirDocumentoInstanciaXBRL(idDocumento, idVersion, new Dictionary <string, object>()); //Resultado no exitoso, programar reintento if (!resultado.Resultado) { int reintento = 0; var numReintentos = Int32.Parse(ParametroSistemaService.ObtenerValorParametroSistema(ConstantsParametrosSistema.NUMERO_REINTENTOS_PROCESAR_XBRL, "0")); //Realizar reintento de procesamiento if (mapMessage.ItemExists(DistribucionDocumentoConstants.PARAM_MENSAJE_REINTENTO)) { reintento = mapMessage.GetInt(DistribucionDocumentoConstants.PARAM_MENSAJE_REINTENTO); } LogUtil.Info(String.Format("Distribución no exitosa IdDocumento {0}, reintento: {1}", idDocumento, reintento)); if (reintento < numReintentos) { reintento++; LogUtil.Info(String.Format("Enviando reintento {1} para el documento {0}", idDocumento, reintento)); ProcesarDocumentoXBRLEmsGateway.EnviarSolicitudProcesarXBRL(idDocumento, idVersion, reintento); } } } else { LogUtil.Error("Error al procesar mensaje: " + message.CorrelationID + ": parámetros incompletos"); } } } catch (Exception ex) { LogUtil.Info("Error al procesar mensaje: " + message.CorrelationID); LogUtil.Error(ex); } }
public RegrasCompra(ParametroSistemaService parametroService, RegraCashbackService regraService) { this.parametroService = parametroService; this.regraService = regraService; }
public ParametroSistemaController(ParametroSistemaService service, ILogger <ParametroSistemaController> logger) { this.service = service; this.logger = logger; }