Ejemplos

El siguiente código demuestra el uso de la librería:

using System;
using System.Linq;
using ContaEl.Basico;
using System.IO;
 
namespace Ejemplos {
    class Program {
        static void Main(string[] args) {
            UsoBasico();
            Sellado();
            ModoFlujo();
            ValidarExistente();
        }
 
        static void UsoBasico() {
            Console.WriteLine("Uso básico");
            Catalogo catalogo = new Catalogo();
            catalogo.Anio = 2015;
            catalogo.Mes = "06";
            catalogo.RFC = "AAA010101AAA";
            Catalogo.TipoCtas cuenta = new Catalogo.TipoCtas();
            cuenta.NumCta = "1";
            cuenta.Natur = "D";
            cuenta.Nivel = 1;
            cuenta.Desc = "Cuenta de prueba";
            cuenta.CodAgrup = "101.01";
            catalogo.Ctas.Add(cuenta);
            string[] errores = catalogo.Validar().ToArray();
            if(errores.Length > 0) {
                Console.WriteLine("El catalogo tiene errores:");
                foreach(string i in errores) {
                    Console.WriteLine(i);
                    Console.ReadLine();
                }
                return;
            }
            catalogo.Guardar("AAA010101AAA201506CT.xml");
            Console.ReadLine();
        }
        static void Sellado() {
            Console.WriteLine("Sellado");
            Catalogo catalogo = new Catalogo();
            catalogo.Anio = 2015;
            catalogo.Mes = "06";
            catalogo.RFC = "AAA010101AAA";
            Catalogo.TipoCtas cuenta = new Catalogo.TipoCtas();
            cuenta.NumCta = "1";
            cuenta.Natur = "D";
            cuenta.Nivel = 1;
            cuenta.Desc = "Cuenta de prueba";
            cuenta.CodAgrup = "101.01";
            catalogo.Ctas.Add(cuenta);
            catalogo.Sellar(File.ReadAllBytes("CSD01_AAA010101AAA.cer")
                , File.ReadAllBytes("CSD01_AAA010101AAA.key")
                , "12345678a");
            string[] errores = catalogo.Validar().ToArray();
            if(errores.Length > 0) {
                Console.WriteLine("El catalogo tiene errores:");
                foreach(string i in errores) {
                    Console.WriteLine(i);
                    Console.ReadLine();
                }
                return;
            }
            catalogo.Guardar("AAA010101AAA201506CT.xml");
            Console.ReadLine();
        }
        static void ModoFlujo() {
            using(Catalogo catalogo = new Catalogo()) {
                Console.WriteLine("Escritura en modo flujo");
                catalogo.Anio = 2015;
                catalogo.Mes = "06";
                catalogo.RFC = "AAA010101AAA";
                Catalogo.TipoCtas cuenta = new Catalogo.TipoCtas();
                cuenta.NumCta = "1";
                cuenta.Natur = "D";
                cuenta.Nivel = 1;
                cuenta.Desc = "Cuenta de prueba";
                cuenta.CodAgrup = "101.01";
                catalogo.Escribir("AAA010101AAA201506CT.xml");
                catalogo.Escribir(cuenta);
                catalogo.TerminarEscritura();
                Console.ReadLine();
            }
        }
        static void ValidarExistente() {
            Console.WriteLine("Validación de documento existente");
            Catalogo catalogo = Catalogo.Cargar("AAA010101AAA201506CT.xml");
            string[] errores = catalogo.Validar().ToArray();
            if(errores.Length > 0) {
                Console.WriteLine("El catalogo tiene errores:");
                foreach(string i in errores) {
                    Console.WriteLine(i);
                }
                return;
            }
            Console.WriteLine("Se valido correctamente");
            Console.ReadLine();
        }
    }
}