public void Conectar(int IdFuente) { Conectar(); string strInstruccion = string.Format("SELECT Localizacion, Proveedor, Usuario, Password FROM FSFuentes F, FSFuenteTipos FT WHERE f.IdFuenteTipo = ft.IdFuenteTipo AND F.IdFuente = {0}", IdFuente); DataTable objTabla = objAcceso.Consultar(strInstruccion); string strCadenaConexion = objTabla.Rows[0]["Localizacion"].ToString() + string.Format(";User ID= {0}; Password = {1}", objTabla.Rows[0]["Usuario"].ToString(), objTabla.Rows[0]["Password"].ToString()); objAcceso.Conectar(strCadenaConexion, objTabla.Rows[0]["Proveedor"].ToString()); }
//METODO PARA VALIDAR CONEXION CON BASE DE DATOS /// <summary> /// Método para la validación de conectividad a la base de datos /// </summary> private static bool ValidacionConexionBaseDatos() { objDataAccess = new AccesoBaseDatos(); bool blnValidacionConexionBaseDatos = false; try { objDataAccess.Conectar(Utilidades.Configuracion.ConexionFactorySuite, Utilidades.Configuracion.ProveedorFactorySuite); DataTable dtTestBD = objDataAccess.Consultar("select sysdate from dual"); if (dtTestBD.Rows.Count > 0) { blnValidacionConexionBaseDatos = true; EventLog.WriteEntry(strAplicacion, "Conexión a la base de datos SICOQ Exitosa.", EventLogEntryType.Information); } objDataAccess.DesConectar(); } catch (Exception objException) { EventLog.WriteEntry(strAplicacion, "Conexión a la base de datos SICOQ fallida: " + objException.Message + ": " + objException.InnerException, EventLogEntryType.Error); } return(blnValidacionConexionBaseDatos); }
/// <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 }