private void btnConfig_Click(object sender, EventArgs e)
        {
            frmAcceso formA = new frmAcceso();

            var respuesta = formA.ShowDialog();

            if (respuesta == System.Windows.Forms.DialogResult.OK)
            {
                frmConfiguracion form = new frmConfiguracion();
                var resultado         = form.ShowDialog();

                if (resultado == System.Windows.Forms.DialogResult.OK)
                {
                    this.Frm_Principal_Load(null, null);
                }
            }
        }
        private void Frm_Principal_Load(object sender, EventArgs e)
        {
            try
            {
                // valida si ya tiene alguna clave guardada para el archivo
                string cveActual = Properties.Settings.Default.accesoConfig;

                if (string.IsNullOrEmpty(cveActual))
                {
                    string acceso = Modelos.Utilerias.Transform("c0rr4l3s");

                    Properties.Settings.Default.accesoConfig = acceso;
                    Properties.Settings.Default.Save();
                }

                string fileName       = "config.dat";
                string pathConfigFile = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + @"\CteMPortal\";

                // si no existe el directorio, lo crea
                bool exists = System.IO.Directory.Exists(pathConfigFile);

                if (!exists)
                {
                    System.IO.Directory.CreateDirectory(pathConfigFile);
                }

                // busca en el directorio si exite el archivo con el nombre dado
                var file = Directory.GetFiles(pathConfigFile, fileName, SearchOption.AllDirectories)
                           .FirstOrDefault();

                if (file == null)
                {
                    // no existe
                    // abrir el formulario para llenar la configuracion de conexion
                    frmConfiguracion form = new frmConfiguracion();
                    var resultado         = form.ShowDialog();

                    if (resultado != System.Windows.Forms.DialogResult.OK)
                    {
                        this._defConfig = false;
                        throw new Exception("No se ha definido la configuración");
                    }
                }

                file = Directory.GetFiles(pathConfigFile, fileName, SearchOption.AllDirectories)
                       .FirstOrDefault();

                // si existe
                // obtener la cadena de conexion del archivo
                FEncrypt.Respuesta result = FEncrypt.EncryptDncrypt.DecryptFile(file, "milagros");

                if (result.status == FEncrypt.Estatus.ERROR)
                {
                    throw new Exception(result.error);
                }

                if (result.status == FEncrypt.Estatus.OK)
                {
                    string[] list = result.resultado.Split(new string[] { "||" }, StringSplitOptions.None);

                    // microsip
                    string servidor  = list[0].Substring(2);    // SERVIDOR
                    string baseDatos = list[1].Substring(2);    // BASE DE DATOS
                    string puerto    = list[2].Substring(2);    // PUERTO
                    string usuario   = list[3].Substring(2);    // USUARIO
                    string contra    = list[4].Substring(2);    // CONTRASEÑA

                    // mysql
                    string servidorM  = list[5].Substring(2);   // SERVIDOR
                    string baseDatosM = list[6].Substring(2);   // BASE DE DATOS
                    string puertoM    = list[7].Substring(2);   // PUERTO
                    string usuarioM   = list[8].Substring(2);   // USUARIO
                    string contraM    = list[9].Substring(2);   // CONTRASEÑA

                    // vendedor, cobrador, usuario, condiciones pago
                    string vendedor   = list[11].Substring(2);   // VENDEDOR
                    string cobrador   = list[15].Substring(2);   // COBRADOR
                    string userMicro  = list[13].Substring(2);   // USUARIO DE MICROSIP
                    string cpAnterior = list[18].Substring(2);   // CONDICION DE PAGO ANTERIOR
                    string cpNueva    = list[20].Substring(2);   // CONDICION DE PAGO NUEVA

                    string nomVendedor = list[12].Substring(2);
                    string nomCobrador = list[16].Substring(2);

                    string nomVendSis = list[23].Substring(2);
                    string venSisId   = list[22].Substring(2);

                    string cpaNombre = list[24].Substring(2);
                    string cpnNombre = list[25].Substring(2);

                    Modelos.ConectionString.connFB    = new clases.ConfiguracionMicrosip();
                    Modelos.ConectionString.connMySQL = new clases.ConfiguracionMysql();

                    Modelos.ConectionString.connFB.empresa = "";
                    Modelos.ConectionString.connFB.path    = servidor + ":" + baseDatos;
                    Modelos.ConectionString.connFB.user    = usuario;
                    Modelos.ConectionString.connFB.pass    = contra;
                    Modelos.ConectionString.connFB.port    = puerto;

                    Modelos.ConectionString.connMySQL.server   = servidorM;
                    Modelos.ConectionString.connMySQL.database = baseDatosM;
                    Modelos.ConectionString.connMySQL.port     = puertoM;
                    Modelos.ConectionString.connMySQL.user     = usuarioM;
                    Modelos.ConectionString.connMySQL.pass     = contraM;

                    Modelos.parametros.vendedorId = Convert.ToInt64(vendedor);
                    Modelos.parametros.cobradorId = Convert.ToInt64(cobrador);
                    Modelos.parametros.userMicro  = userMicro;
                    Modelos.parametros.cpAnterior = Convert.ToInt64(cpAnterior);
                    Modelos.parametros.cpNuevo    = Convert.ToInt64(cpNueva);

                    Modelos.parametros.nomCobrador = nomCobrador;
                    Modelos.parametros.nomVendedor = nomVendedor;

                    Modelos.parametros.nomVenSis = nomVendSis;
                    Modelos.parametros.venSisId  = Convert.ToInt64(venSisId);

                    Modelos.parametros.cpaNombre = cpaNombre;
                    Modelos.parametros.cpnNombre = cpnNombre;

                    this._defConfig = true;
                }

                this._cargaClientes();
            }
            catch (Exception Ex)
            {
                MessageBox.Show(Ex.Message, "Importar Clientes Microsip - Portal", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }