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