Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <summary>
        /// Permite interpretar la trama obteneida del MQ
        /// Creado por: Ludwing Ottoniel Cano fuentes - 05/03/2019
        ///</summary>
        /// <param name="trama"></param>
        /// <param name="banco"></param>
        /// <param name="operacion"></param>
        /// <returns></returns>
        public DatosRespuestaConsulta InterpretarTramaConsulta(string trama, string banco, string operacion)
        {
            OracleMethod oracle   = new OracleMethod();
            Utilidad     utilidad = new Utilidad();
            List <ParametrosMQConsulta> parametros = oracle.GetParametros(banco, operacion);

            DatosRespuestaConsulta respuesta = new DatosRespuestaConsulta {
                TIP_OPER = Properties.Resources.CodErrorConexion
            };

            if (parametros != null)
            {
                respuesta = utilidad.InterpretarRespuestaConsulta(parametros, trama);
            }
            return(respuesta);
        }
Beispiel #3
0
        /// <summary>
        /// Devuelve el dato que corresponda segun los tipos de parametros para la interpretacion de trama
        /// Creado por: Ludwing Ottoniel Cano fuentes - 05/03/2019
        ///</summary>
        /// <param name="tipo"></param>
        /// <param name="trama"></param>
        /// <returns></returns>
        public DatosRespuestaConsulta InterpretarRespuestaConsulta(List <ParametrosMQConsulta> tipo, string trama)
        {
            DatosRespuestaConsulta dato = new DatosRespuestaConsulta();
            string valor = "";

            try
            {
                for (int i = 0; i < tipo.Count; i++)
                {
                    switch (tipo[i].OPERACION)
                    {
                    case "STATUS":
                        valor       = trama.Substring(0, Int32.Parse(tipo[i].LONGITUD));
                        trama       = trama.Substring(Int32.Parse(tipo[i].LONGITUD));
                        dato.STATUS = valor;
                        break;

                    case "NOM_TIT_CONT":
                        valor             = trama.Substring(0, Int32.Parse(tipo[i].LONGITUD));
                        trama             = trama.Substring(Int32.Parse(tipo[i].LONGITUD));
                        dato.NOM_TIT_CONT = valor;
                        break;

                    case "DIR_SUMINISTRO":
                        valor = trama.Substring(0, Int32.Parse(tipo[i].LONGITUD));
                        trama = trama.Substring(Int32.Parse(tipo[i].LONGITUD));
                        dato.DIR_SUMINISTRO = valor;
                        break;

                    case "USUARIO":
                        valor        = trama.Substring(0, Int32.Parse(tipo[i].LONGITUD));
                        trama        = trama.Substring(Int32.Parse(tipo[i].LONGITUD));
                        dato.USUARIO = valor;
                        break;

                    case "ESTACION":
                        valor         = trama.Substring(0, Int32.Parse(tipo[i].LONGITUD));
                        trama         = trama.Substring(Int32.Parse(tipo[i].LONGITUD));
                        dato.ESTACION = valor;
                        break;

                    case "DEUDA":
                        valor = trama.Substring(0, Int32.Parse(tipo[i].LONGITUD));
                        trama = trama.Substring(Int32.Parse(tipo[i].LONGITUD));
                        string decimales = valor.Substring(valor.Length - 2);
                        string entero    = Int32.Parse(valor.Substring(0, valor.Length - 2)).ToString();
                        dato.DEUDA = entero + "." + decimales;
                        break;

                    case "NIS":
                        valor    = trama.Substring(0, Int32.Parse(tipo[i].LONGITUD));
                        trama    = trama.Substring(Int32.Parse(tipo[i].LONGITUD));
                        dato.NIS = valor;
                        break;

                    case "TIP_OPER":
                        valor         = trama.Substring(0, Int32.Parse(tipo[i].LONGITUD));
                        trama         = trama.Substring(Int32.Parse(tipo[i].LONGITUD));
                        dato.TIP_OPER = valor;
                        break;
                    }
                }
            }
            catch (Exception)
            {
                dato          = new DatosRespuestaConsulta();
                dato.TIP_OPER = Properties.Resources.CodErrorConexion;
            }

            return(dato);
        }