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; } }