public void createPolizasPeriodo() { string strAccessConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=database\\" + this.databaseFileName; string strAccessSelect = "SELECT * FROM [Apuntes_Polizas_Import]"; DataSet myDataSet = new DataSet(); OleDbConnection myAccessConn = null; try { myAccessConn = new OleDbConnection(strAccessConn); } catch (Exception ex) { Console.WriteLine("Error: Failed to create a database connection. \n{0}", ex.Message); return; } try { myAccessConn.Open(); OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect, myAccessConn); OleDbDataReader reader = myAccessCommand.ExecuteReader(); List<SatContabilidad.Polizas.PolizasPoliza> polizas = new List<SatContabilidad.Polizas.PolizasPoliza>(); while (reader.Read()) { SatContabilidad.Polizas.PolizasPoliza poliza = new SatContabilidad.Polizas.PolizasPoliza(); List<SatContabilidad.Polizas.PolizasPolizaTransaccion> transacciones = new List<Polizas.PolizasPolizaTransaccion>(); SatContabilidad.Polizas.PolizasPolizaTransaccion transaccion = new Polizas.PolizasPolizaTransaccion(); List<SatContabilidad.Polizas.PolizasPolizaTransaccionOtrMetodoPago> otrosMetodosdePago = new List<Polizas.PolizasPolizaTransaccionOtrMetodoPago>(); Polizas.PolizasPolizaTransaccionOtrMetodoPago otroMetodoPago = new Polizas.PolizasPolizaTransaccionOtrMetodoPago(); switch (reader["MONEDA"].ToString()) { case "DL": otroMetodoPago.Moneda = SatContabilidad.Polizas.c_Moneda.USD; otroMetodoPago.TipCamb = Decimal.Parse(reader["CAMAPU"].ToString()); otroMetodoPago.TipCambSpecified = true; break; default: otroMetodoPago.Moneda = SatContabilidad.Polizas.c_Moneda.MXN; otroMetodoPago.TipCambSpecified = false; break; } otroMetodoPago.MonedaSpecified = true; otroMetodoPago.Monto = Decimal.Parse(reader["IMPAPU"].ToString()); otroMetodoPago.RFC = this.rfc; otrosMetodosdePago.Add(otroMetodoPago); transaccion.OtrMetodoPago = otrosMetodosdePago.ToArray<SatContabilidad.Polizas.PolizasPolizaTransaccionOtrMetodoPago>(); transacciones.Add(transaccion); poliza.Transaccion = transacciones.ToArray<SatContabilidad.Polizas.PolizasPolizaTransaccion>(); polizas.Add(poliza); } reader.Close(); myAccessConn.Close(); SatContabilidad.Polizas.Polizas polizasLast = new SatContabilidad.Polizas.Polizas(); polizasLast.schemaLocation = "www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas/CatalogoCuentas_1_1.xsd"; polizasLast.Anio = int.Parse(this.year); Type mes = typeof(Polizas.PolizasMes); polizasLast.Mes = (Polizas.PolizasMes) Enum.Parse(mes, (int.Parse(this.month) - 1).ToString()); polizasLast.Poliza = polizas.ToArray< SatContabilidad.Polizas.PolizasPoliza>(); polizasLast.RFC = this.rfc; XmlSerializer serializer = new XmlSerializer(typeof(SatContabilidad.Polizas.Polizas)); System.IO.TextWriter writer = new System.IO.StreamWriter(this.outputPath + this.rfc + this.year + this.month + "PL.xml"); serializer.Serialize(writer, polizasLast); } catch (Exception ex) { Console.WriteLine("Error: Failed to retrive the required data from the Database.\n{0}", ex.Message); return; } finally { myAccessConn.Close(); } }
public void createPolizasPeriodo() { string strAccessConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=database\\" + this.databaseFileName; string strAccessSelect = "SELECT * FROM [Apuntes_Polizas_Import]"; DataSet myDataSet = new DataSet(); OleDbConnection myAccessConn = null; try { myAccessConn = new OleDbConnection(strAccessConn); } catch (Exception ex) { Console.WriteLine("Error: Failed to create a database connection. \n{0}", ex.Message); return; } try { myAccessConn.Open(); OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect, myAccessConn); OleDbDataReader reader = myAccessCommand.ExecuteReader(); List <SatContabilidad.Polizas.PolizasPoliza> polizas = new List <SatContabilidad.Polizas.PolizasPoliza>(); while (reader.Read()) { SatContabilidad.Polizas.PolizasPoliza poliza = new SatContabilidad.Polizas.PolizasPoliza(); List <SatContabilidad.Polizas.PolizasPolizaTransaccion> transacciones = new List <Polizas.PolizasPolizaTransaccion>(); SatContabilidad.Polizas.PolizasPolizaTransaccion transaccion = new Polizas.PolizasPolizaTransaccion(); List <SatContabilidad.Polizas.PolizasPolizaTransaccionOtrMetodoPago> otrosMetodosdePago = new List <Polizas.PolizasPolizaTransaccionOtrMetodoPago>(); Polizas.PolizasPolizaTransaccionOtrMetodoPago otroMetodoPago = new Polizas.PolizasPolizaTransaccionOtrMetodoPago(); switch (reader["MONEDA"].ToString()) { case "DL": otroMetodoPago.Moneda = SatContabilidad.Polizas.c_Moneda.USD; otroMetodoPago.TipCamb = Decimal.Parse(reader["CAMAPU"].ToString()); otroMetodoPago.TipCambSpecified = true; break; default: otroMetodoPago.Moneda = SatContabilidad.Polizas.c_Moneda.MXN; otroMetodoPago.TipCambSpecified = false; break; } otroMetodoPago.MonedaSpecified = true; otroMetodoPago.Monto = Decimal.Parse(reader["IMPAPU"].ToString()); otroMetodoPago.RFC = this.rfc; otrosMetodosdePago.Add(otroMetodoPago); transaccion.OtrMetodoPago = otrosMetodosdePago.ToArray <SatContabilidad.Polizas.PolizasPolizaTransaccionOtrMetodoPago>(); transacciones.Add(transaccion); poliza.Transaccion = transacciones.ToArray <SatContabilidad.Polizas.PolizasPolizaTransaccion>(); polizas.Add(poliza); } reader.Close(); myAccessConn.Close(); SatContabilidad.Polizas.Polizas polizasLast = new SatContabilidad.Polizas.Polizas(); polizasLast.schemaLocation = "www.sat.gob.mx/esquemas/ContabilidadE/1_1/CatalogoCuentas/CatalogoCuentas_1_1.xsd"; polizasLast.Anio = int.Parse(this.year); Type mes = typeof(Polizas.PolizasMes); polizasLast.Mes = (Polizas.PolizasMes)Enum.Parse(mes, (int.Parse(this.month) - 1).ToString()); polizasLast.Poliza = polizas.ToArray <SatContabilidad.Polizas.PolizasPoliza>(); polizasLast.RFC = this.rfc; XmlSerializer serializer = new XmlSerializer(typeof(SatContabilidad.Polizas.Polizas)); System.IO.TextWriter writer = new System.IO.StreamWriter(this.outputPath + this.rfc + this.year + this.month + "PL.xml"); serializer.Serialize(writer, polizasLast); } catch (Exception ex) { Console.WriteLine("Error: Failed to retrive the required data from the Database.\n{0}", ex.Message); return; } finally { myAccessConn.Close(); } }