Exemple #1
0
        /// <summary>
        /// Implementa el Método de la Interfaz.
        /// </summary>
        protected virtual void iniciarSistemaConUI(
            ENivelMensaje nivelEjecucion,
            IVistaCuadroInicio wininicio,
            IVistaVentanaPpal winppal,
            IControladorLogging log,
            IControladorSeguridad security)
        {
            try {
                // Inicializa los componentes internos necesarios
                _nivelEjecucion = nivelEjecucion;
                AppPath = Application.StartupPath;

                // Inicializa los parametros del mismo.
                iniciarParametros();

                // Establece componentes usados en la ejecución del sistema
                _log = log ?? new LogSistema(nivelEjecucion);
                _seguridad = security ?? new SecureService();

                // Inicia las interfaces gráficas
                _wininicio = wininicio ?? new WinInicio(this);
                _vista = winppal ?? new WinPrincipal(this);

                // Arranca la ventana de inicio que se encarga de
                // realizar el inicio efectivo de este sistema.
                _wininicio.abrir();
                _wininicio.iniciarSistema();

                // Inicia la vista (ventana) principal del sistema.
                iniciarUi();
            } catch (Exception e) {
                MessageBox.Show(string.Format("ERROR FATAL DEL SISTEMA!\r\n{0}\r\n{1}",
                        Mensaje.TextoMensaje("APP-NOINIT-ERROR"),
                        e),
                    Mensaje.TextoMensaje("TITULO-SHOW"),
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Stop);
                cerrarSistema();
            }
        }
Exemple #2
0
 /// <summary>
 /// Implementa el Método de la Interfaz.
 /// Inicia el sistema de acuerdo al tipo de llamada entrante, en donde
 /// en principio puede ejecutarse el sistema en modo 'BATCH': sin UI y
 /// finalizando al terminar la ejecucion de los procesos batch; ó, en 
 /// cualquier otro modo, con UI y dejando 'fluir' la aplicación.
 /// </summary>
 public virtual void iniciarSistema(
     ENivelMensaje nivelEjecucion,
     IVistaCuadroInicio wininicio,
     IVistaVentanaPpal winppal,
     IControladorLogging log,
     IControladorSeguridad security)
 {
     if (nivelEjecucion == ENivelMensaje.BATCH)
         try {
             iniciarSistemaSinUI(nivelEjecucion, log, security);
             ejecutarProcesosBatch();
         } catch (Exception e) {
             logear("APP-NOINIT-ERROR", ENivelMensaje.FATAL, e.ToString());
         } finally {
             cerrarSistema();
         }
     else
         try {
             iniciarSistemaConUI(nivelEjecucion, null, null, null, null);
         } catch (Exception e) {
             mostrar("APP-NOINIT-ERROR", ENivelMensaje.FATAL, e.ToString(), true);
             cerrarSistema();
         }
 }