/// <summary> /// Permite Iniciar la consulta de usuario /// Creado por: Ludwing Ottoniel Cano fuentes - 05/03/2019 ///</summary> /// <param name="datos">Valores con la info de uusario a consultar</param> /// <returns></returns> public DatosRespuestaConsulta RealizarConsulta(DatosConsulta datos) { DatosRespuestaConsulta respuesta_datos = new DatosRespuestaConsulta(); OracleMethod oracle = new OracleMethod(); //creacion trama string trama = CrearTramaConsulta(datos); //Ingreso trama Metodos MQ_metodos = new Metodos(); string messageID = datos.FECHA + DateTime.Now.ToString("HHmmss") + datos.NIS; string ms_respuesta = ""; bool response = MQ_metodos.PutMessages(trama, messageID, out ms_respuesta); if (response == false) { respuesta_datos.TIP_OPER = Properties.Resources.CodErrorConexion; respuesta_datos.STATUS = ms_respuesta; return(respuesta_datos); } byte[] MessageId; string putID = string.Empty; //Validar crear messageId try { MessageId = Encoding.ASCII.GetBytes(messageID); putID = BitConverter.ToString(MessageId).Replace("-", string.Empty); } catch (Exception) { messageID = datos.FECHA + DateTime.Now.ToString("HHmm") + datos.NIS; MessageId = Encoding.ASCII.GetBytes(messageID); putID = BitConverter.ToString(MessageId).Replace("-", string.Empty); } if (putID.Length > 45) { putID = putID.Substring(0, putID.Length - 3); } //Buscar Trama string get_trama = oracle.ObtenerRespuesta(putID); if (get_trama.Equals(string.Empty)) { respuesta_datos.TIP_OPER = Properties.Resources.CodErrorConexion; respuesta_datos.STATUS = "No fue posible realizar la consulta, intente nuevamente."; return(respuesta_datos); } respuesta_datos = InterpretarTramaConsulta(get_trama, datos.BANCO, Properties.Resources.CodConsulta); if (respuesta_datos.TIP_OPER.Equals(Properties.Resources.CodErrorConexion)) { respuesta_datos.STATUS = "No fue posible realizar la consulta, intente nuevamente."; } return(respuesta_datos); }
/// <summary> /// Devuelve el dato que corresponda segun el tipo de parametro que se necesite para la trama /// Creado por: Ludwing Ottoniel Cano fuentes - 05/03/2019 ///</summary> /// <param name="tipo"></param> /// <param name="consulta"></param> /// <returns></returns> public string ValidarDatosParaConsulta(ParametrosMQConsulta tipo, DatosConsulta consulta) { string valor = ""; try { switch (tipo.OPERACION) { case "TIP_OPER": return(ValidarTamaño(Int32.Parse(tipo.LONGITUD), consulta.TIP_OPER)); case "NIS": return(ValidarTamaño(Int32.Parse(tipo.LONGITUD), consulta.NIS)); case "USUARIO": return(ValidarTamaño(Int32.Parse(tipo.LONGITUD), consulta.USUARIO)); case "ESTACION": return(ValidarTamaño(Int32.Parse(tipo.LONGITUD), consulta.ESTACION)); case "FECHA": return(ValidarTamaño(Int32.Parse(tipo.LONGITUD), consulta.FECHA)); case "HORA": return(DateTime.Now.ToString("HHmmss")); } } catch (Exception) { return(string.Empty); } return(valor); }
/// <summary> /// Permite crear la trama para poder enviarla al MQ /// Creado por: Ludwing Ottoniel Cano fuentes - 05/03/2019 ///</summary> /// <param name="datos"></param> /// <returns></returns> private string CrearTramaConsulta(DatosConsulta datos) { OracleMethod oracle = new OracleMethod(); Utilidad utilidad = new Utilidad(); List <ParametrosMQConsulta> parametros = oracle.GetParametros(datos.BANCO, datos.TIP_OPER); string trama = string.Empty; if (parametros != null) { int inicio_trama = oracle.InicioTrama(datos.BANCO); for (int i = 0; i < inicio_trama; i++) { trama += "0"; } for (int i = 0; i < parametros.Count; i++) { trama += utilidad.ValidarDatosParaConsulta(parametros[i], datos); } } return(trama); }