コード例 #1
0
ファイル: Operaciones.cs プロジェクト: crodriguezz/WS_VIS
        /// <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);
        }
コード例 #2
0
ファイル: Utilidad.cs プロジェクト: crodriguezz/WS_VIS
        /// <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);
        }
コード例 #3
0
ファイル: Operaciones.cs プロジェクト: crodriguezz/WS_VIS
        /// <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);
        }