//----------------------------

        #region Constructor

        public CL_ImportacionMasiva(int IdNegocio, int IdLayout, INF_Archive Archivo, string Usuario = "SYS")
        {
            // Inicializa variables
            archivo          = Archivo;
            strUsuario       = Usuario;
            intIdNegocio     = IdNegocio;
            intIdLayout      = IdLayout;
            dteInicio        = DateTime.Now;
            dteTermino       = null;
            lngCorrectos     = 0;
            lngOmitidos      = 0;
            lngErroneos      = 0;
            strObservaciones = string.Empty;
            encabezados      = null;

            if (cnf.Estatus == Configuracion.Status.Correcto)
            {
                db.DBConString = cnf.CnnString;

                CL_Layout loadLayout = new CL_Layout(IdNegocio, IdLayout, db);
                this.layout = loadLayout;
                strNegocio  = this.layout.Negocio;
                strLayout   = this.layout.Nombre;

                // Prepara contenedor de resultados
                this.resultados = new DataTable();

                this.resultados.Columns.Add("NUM_REGISTRO", Type.GetType("System.Int64"));
                this.resultados.Columns.Add("RES_ROK", Type.GetType("System.Boolean"));
                this.resultados.Columns.Add("RES_ROM", Type.GetType("System.Boolean"));
                this.resultados.Columns.Add("RES_RER", Type.GetType("System.Boolean"));
                this.resultados.Columns.Add("OBSERVACIONES", Type.GetType("System.String"));

                // Carga archivo
                CargarArchivo();

                dteTermino = DateTime.Now;

                // Registra en base de datos
                registrarDatosEnBD();

                File.Delete(archivo.Ruta);
            }
        }
        public CL_ImportacionMasiva(int IdNegocio, int IdLayout, INF_Archive Archivo, string Usuario = "SYS")
        {
            // Inicializa variables
            archivo = Archivo;
            strUsuario = Usuario;
            intIdNegocio = IdNegocio;
            intIdLayout = IdLayout;
            dteInicio = DateTime.Now;
            dteTermino = null;
            lngCorrectos = 0;
            lngOmitidos = 0;
            lngErroneos = 0;
            strObservaciones = string.Empty;
            encabezados = null;

            if(cnf.Estatus == Configuracion.Status.Correcto)
            {
                db.DBConString = cnf.CnnString;

                CL_Layout loadLayout = new CL_Layout(IdNegocio, IdLayout, db);
                this.layout = loadLayout;
                strNegocio = this.layout.Negocio;
                strLayout = this.layout.Nombre;

                // Prepara contenedor de resultados
                this.resultados = new DataTable();

                this.resultados.Columns.Add("NUM_REGISTRO", Type.GetType("System.Int64"));
                this.resultados.Columns.Add("RES_ROK", Type.GetType("System.Boolean"));
                this.resultados.Columns.Add("RES_ROM", Type.GetType("System.Boolean"));
                this.resultados.Columns.Add("RES_RER", Type.GetType("System.Boolean"));
                this.resultados.Columns.Add("OBSERVACIONES", Type.GetType("System.String"));

                // Carga archivo
                CargarArchivo();

                dteTermino = DateTime.Now;

                // Registra en base de datos
                registrarDatosEnBD();

                File.Delete(archivo.Ruta);
            }
        }