public static void ComplementaCamposTransaccion(ref Entidades.Transaccion Transac)
        {
            SqlConnection connection        = null;
            DataTable     CamposComplemento = new DataTable();

            Console.WriteLine(CamposComplemento);
            List <Entidades.CampoenCabecera> ListaCamposComplementoCab = new List <Entidades.CampoenCabecera>();
            List <Entidades.CampoenDetalle>  ListaCamposComplementoDet = new List <Entidades.CampoenDetalle>();

            try
            {
                using (connection = Conexion.ObtieneConexion("ConexionBD"))
                {
                    var parametros = new[]
                    {
                        ParametroAcceso.CrearParametro("@idTransaccion", SqlDbType.Int, Transac.idTransaccion, ParameterDirection.Input)
                    };
                    connection.Open();
                    CamposComplemento = Ejecuta.EjecutarConsulta(connection, parametros, "[dbo].[SpObtener_CamposComplementoTransacciones]");
                    connection.Close();
                    if (CamposComplemento.Rows.Count > 0)
                    {
                        DataSet dtCamposComplemento = ConvertJsonStringToDataSet(CamposComplemento.Rows[0][0].ToString());
                        //Datos Cabecera
                        foreach (DataRow Campo in dtCamposComplemento.Tables["Cabecera"].Rows)
                        {
                            Entidades.CampoenCabecera CampoCabecera = new Entidades.CampoenCabecera();
                            CampoCabecera.idCampo         = Convert.ToInt32(Campo["idCampo"].ToString());
                            CampoCabecera.idTipoDatoCampo = Convert.ToInt32(Campo["idTipodeDatoCampo"].ToString());
                            CampoCabecera.nombreCampo     = Campo["nombreCampo"].ToString();
                            CampoCabecera.valor           = Campo["valor"].ToString();
                            ListaCamposComplementoCab.Add(CampoCabecera);
                        }
                        Transac.CamposComplementoCabecera = ListaCamposComplementoCab.ToArray();
                        //Datos Detalle
                        foreach (DataRow Campo in dtCamposComplemento.Tables["Detalle"].Rows)
                        {
                            Entidades.CampoenDetalle CampoDetalle = new Entidades.CampoenDetalle();
                            CampoDetalle.idFila          = Convert.ToInt32(Campo["idFila"].ToString());
                            CampoDetalle.idCampo         = Convert.ToInt32(Campo["idCampo"].ToString());
                            CampoDetalle.idTipoDatoCampo = Convert.ToInt32(Campo["idTipodeDatoCampo"].ToString());
                            CampoDetalle.nombreCampo     = Campo["nombreCampo"].ToString();
                            CampoDetalle.valor           = Campo["valor"].ToString();
                            ListaCamposComplementoDet.Add(CampoDetalle);
                        }
                        Transac.DetalleTransaccion = ListaCamposComplementoDet.ToArray();
                    }
                    else
                    {
                        Transac.CamposComplementoCabecera = ListaCamposComplementoCab.ToArray();
                        Transac.DetalleTransaccion        = ListaCamposComplementoDet.ToArray();
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                throw;
            }
        }
        public static List <XmlDocument> ConsultaTransacciones(int idEstatus)
        {
            DataTable Transacciones = new DataTable();

            Console.WriteLine(Transacciones);
            SqlConnection connection    = null;
            XmlDocument   serializedXML = new XmlDocument();

            List <XmlDocument> ListaTransacciones = new List <XmlDocument>();

            try
            {
                using (connection = Conexion.ObtieneConexion("ConexionBD"))
                {
                    {
                        ParametroAcceso.CrearParametro("@idEstatus", SqlDbType.Int, idEstatus, ParameterDirection.Input);
                    }
                    connection.Open();
                    Transacciones = Ejecuta.EjecutarConsulta(connection, null, "[dbo].[SpObtener_Transacciones]");
                    connection.Close();

                    foreach (DataRow Transaccion in Transacciones.Rows)
                    {
                        Entidades.Transaccion Transac = new Entidades.Transaccion();
                        Transac.idTransaccion    = Convert.ToInt32(Transaccion["idTransaccion"].ToString());
                        Transac.idTipoTrasaccion = Convert.ToInt32(Transaccion["idTipoTransaccion"].ToString());
                        Transac.idUsuario        = Convert.ToInt32(Transaccion["idUsuario"].ToString());
                        Transac.idEstatus        = Convert.ToInt32(Transaccion["idEstatus"].ToString());
                        Transac.fechaTransaccion = Transaccion["fechaIniTransaccion"].ToString();
                        Transac.claveTT          = Transaccion["cveTipoTransaccion"].ToString();
                        ComplementaCamposTransaccion(ref Transac);
                        //Serializa la clase para convertirla a estructura XML
                        XmlSerializer mySerializer = new XmlSerializer(typeof(Entidades.Transaccion));
                        MemoryStream  memStream    = new MemoryStream();
                        StreamWriter  streamWriter = new StreamWriter(memStream);
                        mySerializer.Serialize(streamWriter, Transac);
                        memStream.Position = 0;
                        StreamReader streamReader = new StreamReader(memStream);
                        serializedXML.Load(streamReader);
                        ListaTransacciones.Add(serializedXML);
                    }
                    return(ListaTransacciones);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                throw;
            }
        }