Пример #1
0
        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
            {
            }
        }