private void BgwCargar_DoWork(object sender, DoWorkEventArgs e) { Action <string> lbl = new Action <string>(ActualizarLabel); try { Invoke(lbl, "Inicializando la conexión con la base de datos"); MySQL(); } catch (Exception ex) { this.Invoke(m, new object[] { this, Mensajes.Error, "No se ha logrado inicializar la conexión a la base de datos. La aplicación se cerrará.", "Admin CSY", ex }); e.Cancel = true; return; } Invoke(lbl, "Inicializando la configuración de la base de datos"); ConfiguracionBase(); if (bgwCargar.CancellationPending) { e.Cancel = true; return; } try { Invoke(lbl, "Validando Licencia se uso"); if (!File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\system.evch")) { MessageBox.Show("No haz activado la licencia de este producto. Adquiere tu licencia hablando al:\n33354656\nO contactanos en [email protected]", "HS FIT", MessageBoxButtons.OK, MessageBoxIcon.Information); Application.Exit(); } if (!Directory.Exists(Application.StartupPath + "\\Img")) { Directory.CreateDirectory(Application.StartupPath + "\\Img"); } if (!ConfiguracionXML.ExisteConfiguracion("general", "soloRegistro")) { ConfiguracionXML.GuardarConfiguracion("general", "soloRegistro", false.ToString()); FuncionesGenerales.soloRegistro = false; } else { FuncionesGenerales.soloRegistro = bool.Parse(ConfiguracionXML.LeerConfiguración("general", "soloRegistro")); } Invoke(lbl, "Cargando configuraciones"); CargarLector(); CargarSonidos(); CargarAcceso(); if (!ConfiguracionXML.ExisteConfiguracion("huella", "usar")) { ConfiguracionXML.GuardarConfiguracion("huella", "usar", false.ToString()); FuncionesGenerales.usarHuella = false; } else { FuncionesGenerales.usarHuella = bool.Parse(ConfiguracionXML.LeerConfiguración("huella", "usar")); } bgwCargar.ReportProgress(10); if (!ConfiguracionXML.ExisteConfiguracion("promociones")) { Invoke(lbl, "Cargando Promociones"); CrearConfiguracionPromociones(); CargarPromociones(); } else { CargarPromociones(); } bgwCargar.ReportProgress(20); ConfiguracionBase(); try { Invoke(lbl, "Comprobando membresias vencidas"); Membresia.DesactivarMembresia(); } catch (MySqlException ex) { FuncionesGenerales.MensajeError("No se ha podido desactivar las membresías a los usuarios. No se ha podido conectar con la base de datos.", ex); } catch (Exception ex) { FuncionesGenerales.MensajeError("No se ha podido desactivar las membresías a los usuarios. Ocurrio un error genérico.", ex); } try { Caja.CrearEstadoCaja(); } catch (CajaException ex) { FuncionesGenerales.MensajeError("Ocurrió un error al crear el estado de la caja. Es posible que algunas funciones del software no funcionen correctamente.", ex); } catch (MySqlException ex) { FuncionesGenerales.MensajeError("Ocurrió un error al verificar el estado de la caja. No se pudo conectar con la base de datos.", ex); } catch (Exception ex) { FuncionesGenerales.MensajeError("Ocurrió un error al verificar el estado de la caja. Ocurrió un error genérico.", ex); } try { FuncionesGenerales.DesactivarLockers(); } catch (MySqlException ex) { FuncionesGenerales.MensajeError("No se ha podido desactivar los lockers a los usuarios. No se ha podido conectar con la base de datos.", ex); } catch (Exception ex) { FuncionesGenerales.MensajeError("No se ha podido desactivar los lockers a los usuarios. Ocurrio un error genérico.", ex); } bgwCargar.ReportProgress(50); Invoke(lbl, "Cargando huellas digitales"); Socio.ObtenerHuellas(); bgwCargar.ReportProgress(80); EnviarLog(); Invoke(lbl, "Cargando Interfaz"); if (!ConfiguracionXML.ExisteConfiguracion("tema")) { CrearConfiguracionTema(); CargarInterfaz(); } else { CargarInterfaz(); } bgwCargar.ReportProgress(100); System.Threading.Thread.Sleep(600); } catch { } }