/// <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(); } }
/// <summary> /// Inicia el sistema sin interfaz gráfica. /// </summary> protected virtual void iniciarSistemaSinUI( ENivelMensaje nivelEjecucion, IControladorLogging log, IControladorSeguridad security) { // 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(); // Luego inicializa los servicios del sistema iniciarLog(); iniciarPersistencia(); }
/// <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(); } }