/// <summary>
        /// MENSAJES THROW
        /// </summary>
        /// <param name="ex"></param>
        /// <returns></returns>
        public static string MensajeThrow(ErroresException Err)
        {
            string Mensaje = "";

            try
            {
                //=============================================================
                // DECLARACION DE VARIABLES                                  ==
                //=============================================================
                XmlDocument Documento = new XmlDocument();



                //=============================================================
                // CONFIGURA XML                                             ==
                //=============================================================
                Documento = GetEntityXml(Err, "Detalles");


                //=============================================================
                // RUTA XSLT                                                 ==
                //=============================================================
                string RUTA_XSLT = C_RUTA_XSLT;


                //=============================================================
                // TRANSFORMA XML                                            ==
                //=============================================================
                XPathDocument        doc  = new XPathDocument(new StringReader(Documento.InnerXml.ToString()));
                XslCompiledTransform xslt = new XslCompiledTransform();
                xslt.Load(RUTA_XSLT);
                StringWriter sw = new StringWriter();
                xslt.Transform(doc, null, sw);


                return(sw.ToString());
            }
            catch
            {
                return(Mensaje);
            }
        }
        /// <summary>
        /// ACTUALIZA EL CAMPO DE LA GRILLA MULTICHECKED
        /// </summary>
        /// <param name="Input"></param>
        /// <returns></returns>
        public oSP_RETURN_STATUS SP_UPDATE_FORMULARIO_X_OBJETO_MULTICHECKED(iSP_UPDATE_FORMULARIO_X_OBJETO_MULTICHECKED Input)

        {
            oSP_RETURN_STATUS ObjetoRest = new oSP_RETURN_STATUS();

            try
            {
                //===========================================================
                // SERVICIO REST
                //===========================================================
                using (SRestFul Servicio = new SRestFul())
                {
                    //=======================================================
                    // LLAMADA DEL SERVICIO
                    //=======================================================
                    int ESTADO = Servicio.Solicitar <oSP_RETURN_STATUS>("SP_UPDATE_FORMULARIO_X_OBJETO_MULTICHECKED", SISTEMA, Input, new object());


                    //=======================================================
                    // EVALUACIÓN DE CABEZERA
                    //=======================================================
                    if (ESTADO == 1)
                    {
                        ObjetoRest = (oSP_RETURN_STATUS)Servicio.ObjetoRest;
                    }
                    else
                    {
                        ErroresException Error = (ErroresException)Servicio.ObjetoRest;
                        throw new EServiceRestFulException(UThrowError.MensajeThrow(Error));
                    }
                }


                return(ObjetoRest);
            }
            catch
            {
                throw;
            }
        }
        /// <summary>
        /// LECTURA DE METODO REST
        /// </summary>
        /// <returns></returns>
        public List <oSP_READ_FIFO_INTERFAZ_DIS_X_PROCESO_EJE> SP_READ_FIFO_INTERFAZ_DIS_X_PROCESO_EJE()
        {
            List <oSP_READ_FIFO_INTERFAZ_DIS_X_PROCESO_EJE> ListaRest = new List <oSP_READ_FIFO_INTERFAZ_DIS_X_PROCESO_EJE>();

            try
            {
                //===========================================================
                // SERVICIO
                //===========================================================
                using (SRestFul Servicio = new SRestFul(C_URL))
                {
                    //===========================================================
                    // LLAMADA DEL SERVICIO
                    //===========================================================
                    int ESTADO = Servicio.SolicitarWCFPost <oSP_READ_FIFO_INTERFAZ_DIS_X_PROCESO_EJE>("SP_READ_FIFO_INTERFAZ_DIS_X_PROCESO_EJE", SISTEMA, new object(), new object());


                    //===========================================================
                    // EVALUACIÓN DE CABEZERA
                    //===========================================================
                    if (ESTADO == 1)
                    {
                        ListaRest = (List <oSP_READ_FIFO_INTERFAZ_DIS_X_PROCESO_EJE>)Servicio.ObjetoRest;
                    }
                    else
                    {
                        ErroresException Error = (ErroresException)Servicio.ObjetoRest;
                        throw new EServiceRestFulException(UThrowError.MensajeThrow(Error, C_RUTA_XSLT));
                    }
                }


                return(ListaRest);
            }
            catch
            {
                throw;
            }
        }
        /// <summary>
        /// LECTURA DE METODO REST
        /// </summary>
        /// <param name="Input"></param>
        /// <returns></returns>
        public List <oSP_READ_PARAMETROS_OUTPUT_GRV_DINAMICA_DLL> SP_READ_PARAMETROS_OUTPUT_GRV_DINAMICA_DLL(iSP_READ_PARAMETROS_OUTPUT_GRV_DINAMICA_DLL Input)
        {
            List <oSP_READ_PARAMETROS_OUTPUT_GRV_DINAMICA_DLL> ListaRest = new List <oSP_READ_PARAMETROS_OUTPUT_GRV_DINAMICA_DLL>();

            try
            {
                //===========================================================
                // SERVICIO REST
                //===========================================================
                using (SRestFul Servicio = new SRestFul())
                {
                    //=======================================================
                    // LLAMADA DEL SERVICIO
                    //=======================================================
                    int ESTADO = Servicio.Solicitar <oSP_READ_PARAMETROS_OUTPUT_GRV_DINAMICA_DLL>("SP_READ_PARAMETROS_OUTPUT_GRV_DINAMICA_DLL", SISTEMA, Input, new object());


                    //=======================================================
                    // EVALUACIÓN DE CABEZERA
                    //=======================================================
                    if (ESTADO == 1)
                    {
                        ListaRest = (List <oSP_READ_PARAMETROS_OUTPUT_GRV_DINAMICA_DLL>)Servicio.ObjetoRest;
                    }
                    else
                    {
                        ErroresException Error = (ErroresException)Servicio.ObjetoRest;
                        throw new EServiceRestFulException(UThrowError.MensajeThrow(Error));
                    }
                }


                return(ListaRest);
            }
            catch
            {
                throw;
            }
        }
        /// <summary>
        /// LECTURA DE METODO REST
        /// </summary>
        /// <param name="Input"></param>
        /// <returns></returns>
        public List <oSP_READ_OBJETO_X_CHECKBOX> SP_READ_OBJETO_X_CHECKBOX(iSP_READ_OBJETO_X_CHECKBOX Input)
        {
            List <oSP_READ_OBJETO_X_CHECKBOX> ListaRest = new List <oSP_READ_OBJETO_X_CHECKBOX>();

            try
            {
                //===========================================================
                // SERVICIO REST
                //===========================================================
                using (SRestFul Servicio = new SRestFul())
                {
                    //=======================================================
                    // LLAMADA DEL SERVICIO
                    //=======================================================
                    int ESTADO = Servicio.Solicitar <oSP_READ_OBJETO_X_CHECKBOX>("SP_READ_OBJETO_X_CHECKBOX", SISTEMA, Input, new object());


                    //=======================================================
                    // EVALUACIÓN DE CABEZERA
                    //=======================================================
                    if (ESTADO == 1)
                    {
                        ListaRest = (List <oSP_READ_OBJETO_X_CHECKBOX>)Servicio.ObjetoRest;
                    }
                    else
                    {
                        ErroresException Error = (ErroresException)Servicio.ObjetoRest;
                        throw new EServiceRestFulException(UThrowError.MensajeThrow(Error));
                    }
                }


                return(ListaRest);
            }
            catch
            {
                throw;
            }
        }
        /// <summary>
        /// LECTURA DE METODO REST
        /// </summary>
        /// <param name="Input"></param>
        /// <returns></returns>
        public oSP_RETURN_STATUS SP_CREATE_FIFO_INTERFAZ_DIS_X_PROCESO(iSP_CREATE_FIFO_INTERFAZ_DIS_X_PROCESO Input)
        {
            oSP_RETURN_STATUS ObjetoRest = new oSP_RETURN_STATUS();

            try
            {
                //===========================================================
                // SERVICIO
                //===========================================================
                using (SRestFul Servicio = new SRestFul(C_URL))
                {
                    //===========================================================
                    // LLAMADA DEL SERVICIO
                    //===========================================================
                    int ESTADO = Servicio.SolicitarWCFPost <oSP_RETURN_STATUS>("SP_CREATE_FIFO_INTERFAZ_DIS_X_PROCESO", SISTEMA, Input, new object());


                    if (ESTADO == 1)
                    {
                        ObjetoRest = (oSP_RETURN_STATUS)Servicio.ObjetoRest;
                    }
                    else
                    {
                        ErroresException Error = (ErroresException)Servicio.ObjetoRest;
                        throw new EServiceRestFulException(UThrowError.MensajeThrow(Error, C_RUTA_XSLT));
                    }
                }


                return(ObjetoRest);
            }
            catch
            {
                throw;
            }
        }
        /// <summary>
        /// LECTURA DE METODO REST
        /// </summary>
        /// <param name="Input"></param>
        /// <returns></returns>
        public List <oSP_READ_TABLA_INTERFAZ> SP_READ_TABLA_INTERFAZ(iSP_READ_TABLA_INTERFAZ Input)
        {
            List <oSP_READ_TABLA_INTERFAZ> ListaRest = new List <oSP_READ_TABLA_INTERFAZ>();

            try
            {
                //===========================================================
                // SERVICIO
                //===========================================================
                using (SRestFul Servicio = new SRestFul(C_URL))
                {
                    //===========================================================
                    // LLAMADA DEL SERVICIO
                    //===========================================================
                    int ESTADO = Servicio.SolicitarWCFPost <oSP_READ_TABLA_INTERFAZ>("SP_READ_TABLA_INTERFAZ", SISTEMA, Input, new object());


                    if (ESTADO == 1)
                    {
                        ListaRest = (List <oSP_READ_TABLA_INTERFAZ>)Servicio.ObjetoRest;
                    }
                    else
                    {
                        ErroresException Error = (ErroresException)Servicio.ObjetoRest;
                        throw new EServiceRestFulException(UThrowError.MensajeThrow(Error, C_RUTA_XSLT));
                    }
                }


                return(ListaRest);
            }
            catch
            {
                throw;
            }
        }
        public DataTable SP_READ_TABLA_PIVOT_WEB_GRV_MULTICHECKED(iSP_READ_TABLA_PIVOT_WEB_GRV_MULTICHECKED Input)
        {
            DataTable ListaRest = new DataTable();

            try
            {
                //===========================================================
                // DECLARACION DE VARIABLES
                //===========================================================
                SRestFul Servicio = new SRestFul();



                //=======================================================
                // LLAMADA DEL SERVICIO
                //=======================================================
                int ESTADO = Servicio.SolicitarData("SP_READ_TABLA_PIVOT_WEB_GRV_MULTICHECKED", SISTEMA, Input, new object());

                if (ESTADO == 1)
                {
                    ListaRest = (DataTable)Servicio.ObjetoRest;
                }
                else
                {
                    ErroresException Error = (ErroresException)Servicio.ObjetoRest;
                    throw new EServiceRestFulException(UThrowError.MensajeThrow(Error));
                }


                return(ListaRest);
            }
            catch
            {
                throw;
            }
        }
        /// <summary>
        /// CONFIGURACION DE XML ERROR
        /// </summary>
        /// <param name="ex"></param>
        /// <returns></returns>
        private static XmlDocument ConfiguraXML(Exception ex)
        {
            XmlDocument Documento = new XmlDocument();


            try
            {
                //=============================================================
                // DECLARACION DE VARIABLES                                  ==
                //=============================================================
                ErroresException Entidad = new ErroresException();



                MethodBase MetodoGatillante = ex.TargetSite;
                Type       Class            = MetodoGatillante.ReflectedType;

                //=============================================================
                // OPCIONES DE METODO GATILLANTE                             ==
                //=============================================================
                Entidad.NombreMetodo = MetodoGatillante.Name;
                Entidad.Clase        = Class.FullName;
                Entidad.NameSpace    = Class.Namespace;

                string Mensaje = ex.Message;
                Mensaje = Mensaje.Replace("\"", " ");
                Mensaje = Mensaje.Replace("'", " ");


                Entidad.Mensaje = Mensaje;


                //=============================================================
                // METODO EN CUAL FUE LA CAIDA                               ==
                //=============================================================
                List <Secuencia> Lista = new List <Secuencia>();
                StackTrace       st    = new StackTrace(ex, true);
                for (int i = st.FrameCount - 1; i >= 0; i--)
                {
                    StackFrame sf = st.GetFrame(i);
                    System.Reflection.MethodBase method = sf.GetMethod();
                    Lista.Add(new Secuencia {
                        Item = method.Name
                    });
                }
                Entidad.Eventos = Lista;


                //=============================================================
                // CREACION DE XML                                           ==
                //=============================================================
                Documento = GetEntityXml(Entidad, "Detalles");


                return(Documento);
            }
            catch
            {
                return(Documento);
            }
        }