/// <summary> /// Método principal para la consulta de los datos de una solicitud de licencia y posterior llamado a la carga de los mismos /// </summary> public static Task <int> ConsultaSolicitudesVUCE() { //int Respuesta = 1; string strNumDias = ConfigurationManager.AppSettings["NUMERODIAS_ATRAS"].ToString(); string txtXML; TablaTMS objSolLicImp; Serializer ser = new Serializer(); if (ValidacionConexionBaseDatos()) { ServiceTMSVUCEImpo.ServiceEntidadesTMS wsClient = new ServiceTMSVUCEImpo.ServiceEntidadesTMS(); ServiceTMSVUCEImpo.RegistrosEntidad objRecords = new ServiceTMSVUCEImpo.RegistrosEntidad(); ServiceTMSVUCEImpo.ResultadoOperacion objResults = new ServiceTMSVUCEImpo.ResultadoOperacion(); ServiceTMSVUCEImpo.EntidadParametrizada objEntidad = new ServiceTMSVUCEImpo.EntidadParametrizada(); wsClient.usuarioApp = new UsrAplicacion(); wsClient.usuarioApp.idAppEntidad = ConfigurationManager.AppSettings["IDAPPENTIDAD"].ToString(); wsClient.usuarioApp.idUsuario = ConfigurationManager.AppSettings["USUARIO_APP"].ToString(); wsClient.usuarioApp.password = ConfigurationManager.AppSettings["PASSWORD_APP"].ToString(); objEntidad.identificadorObjeto = ConfigurationManager.AppSettings["IDENTIFICADOR_OBJETO"].ToString(); objEntidad.parametros = new Parametro[2]; objEntidad.parametros[0] = new Parametro(); objEntidad.parametros[1] = new Parametro(); objEntidad.parametros[0].nombre = ConfigurationManager.AppSettings["PARAMETRO_1"].ToString(); objEntidad.parametros[1].nombre = ConfigurationManager.AppSettings["PARAMETRO_2"].ToString(); objEntidad.parametros[1].valor = ConfigurationManager.AppSettings["IDUSUARIO"].ToString(); try { // Consultar en SICOQ - CE las solicitudes pendientes por cerrar // ce_solicitud_importaciones.indaprobada = [ null = Sin definir, 0 = No, 1 = Si] // Consultar desde n días hacia atrás [strNumDias <--- "NUMERODIAS_ATRAS"] string sql_SolPendCerrar = "SELECT idsolicitud, fechacreacion, idtiposolicitud, numeroformulario FROM " + Utilidades.Configuracion.Esquema_SICOQ_WS + // Modificación del filtro para las pruebas //".CE_SOLICITUD_IMPORTACIONES WHERE indaprobada IS NULL AND numeroformulario IN ('TML-I-0235855-20191223') ORDER BY 2 ASC"; ".CE_SOLICITUD_IMPORTACIONES WHERE indaprobada IS NULL AND fechacreacion > sysdate - " + strNumDias + " ORDER BY 2 ASC"; objDataAccess.Conectar(Utilidades.Configuracion.ConexionFactorySuite, Utilidades.Configuracion.ProveedorFactorySuite); DataTable dtSolPendCerrar = objDataAccess.Consultar(sql_SolPendCerrar); objDataAccess.DesConectar(); EventLog.WriteEntry(strAplicacion, "Inicio de Consulta de Solicitudes pendientes por cerrar.", EventLogEntryType.Information); for (int i = 0; i < dtSolPendCerrar.Rows.Count; i++) { // Llamado a consultar el servicio de MinCIT para las Solicitudes procesadas objEntidad.parametros[0].valor = dtSolPendCerrar.Rows[i].ItemArray[3].ToString(); objRecords = wsClient.ObtenerEntidadParametrizada(objEntidad, out objResults); if (objResults.estadoOperacion == "OK") { txtXML = objRecords.registros.InnerXml.ToString().Replace("<", "<").Replace(">", ">").Replace("&#x0D;", "\n").Replace("\"", ""); // objSolLicImp = ser.Deserialize<TablaTMS>(objRecords.registros.InnerXml); objSolLicImp = ser.Deserialize <TablaTMS>(txtXML); //UTF8Encoding Encoder = new UTF8Encoding(false); EventLog.WriteEntry(strAplicacion, "Consulta de solicitud " + dtSolPendCerrar.Rows[i].ItemArray[3].ToString() + " exitosa con Licencia de Importación " + objSolLicImp.NumRegLicImportacion /*Encoding.UTF8.GetString(Encoder.GetBytes(txtXML))*/, EventLogEntryType.Information); // Procedemos a actualizar la solicitud de importación ActualizarSolicitudImportacion(dtSolPendCerrar.Rows[i].ItemArray[0].ToString(), objSolLicImp); } else { EventLog.WriteEntry(strAplicacion, "Consulta de solicitud " + dtSolPendCerrar.Rows[i].ItemArray[3].ToString() + " fallida [No disponible]: " + objResults.estadoOperacion + ": " + objResults.descripcion, EventLogEntryType.Error); }; } EventLog.WriteEntry(strAplicacion, "Fin de Consulta de Solicitudes pendientes por cerrar.", EventLogEntryType.Information); //objDataAccess.DesConectar(); } catch (Exception objException) { EventLog.WriteEntry(strAplicacion, "Error al consultar las Solicitudes pendientes por cerrar en SICOQ: " + objException.Message + ": " + objException.InnerException, EventLogEntryType.Error); objDataAccess.Conectar(Utilidades.Configuracion.ConexionFactorySuite, Utilidades.Configuracion.ProveedorFactorySuite); GuardarLogErroresFS(objException); objDataAccess.DesConectar(); } wsClient.Dispose(); } return(Task.FromResult(1)); // NumSolicitudTemporal }
public RegistrosEntidad ObtenerEntidadParametrizada([System.Xml.Serialization.XmlElementAttribute(IsNullable = true)] EntidadParametrizada entidad, [System.Xml.Serialization.XmlElementAttribute(IsNullable = true)] out ResultadoOperacion respuesta) { object[] results = this.Invoke("ObtenerEntidadParametrizada", new object[] { entidad }); respuesta = ((ResultadoOperacion)(results[1])); return((RegistrosEntidad)(results[0])); }