Ejemplo n.º 1
0
        private void formClick(object sender, System.EventArgs e)
        {
            CNDCMenuItemOracle mi = (CNDCMenuItemOracle)sender;

            if (mi.DropDownItems.Count > 0)
            {
                return;
            }

            if (mi.Ensamblado.Trim() == string.Empty || mi.Clase.Trim() == string.Empty)
            {
                MessageBox.Show("Opcion no implementada");
            }
            else
            {
                try
                {
                    Assembly asm = null;
                    if (_dicEnsamblados.ContainsKey(mi.Ensamblado))
                    {
                        asm = _dicEnsamblados[mi.Ensamblado];
                    }
                    else
                    {
                        PistaMgr.Instance.Debug("MenuQuantum", "Cargando assembly " + mi.Ensamblado);
                        asm = Assembly.LoadFile(System.IO.Path.Combine(Application.StartupPath, mi.Ensamblado));
                        _dicEnsamblados[mi.Ensamblado] = asm;
                    }

                    PistaMgr.Instance.Debug("MenuQuantum", "Instanciando Clase " + mi.Clase);
                    IFuncionalidad form = (IFuncionalidad)asm.CreateInstance(mi.Clase);
                    form.Parametros = new ParametrosFuncionalidad(mi.Parametro);
                    if (e is ParametroExtra)
                    {
                        form.Parametros.ParametroExtra = (ParametroExtra)e;
                    }

                    PistaMgr.Instance.Debug("MenuQuantum", "Ejecutando Funcionalidad " + mi.Clase);
                    form.Ejecutar();
                    PistaMgr.Instance.Debug("MenuQuantum", "Ejecucion Funcionalidad [" + mi.Clase + "] Finalizada");
                    if (_padre != null && !(e is ParametroExtra))
                    {
                        _padre.Recargar();
                    }
                }
                catch (Exception ex)
                {
                    PistaMgr.Instance.Error("MenuQuantum", ex);
                    PistaMgr.Instance.Debug("MenuQuantum", ex);
                }
            }
        }
Ejemplo n.º 2
0
        private void _tvwMenu_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            NodoMenuPrincipal mi = (NodoMenuPrincipal)e.Node;

            if (mi.Nodes.Count > 0)
            {
                return;
            }

            if (mi.Ensamblado.Trim() == string.Empty || mi.Clase.Trim() == string.Empty)
            {
                MessageBox.Show("Opcion no implementada");
            }
            else
            {
                try
                {
                    Assembly asm = null;
                    if (_dicEnsamblados.ContainsKey(mi.Ensamblado))
                    {
                        asm = _dicEnsamblados[mi.Ensamblado];
                    }
                    else
                    {
                        PistaMgr.Instance.Debug("MenuQuantum", "Cargando assembly " + mi.Ensamblado);
                        asm = Assembly.LoadFile(System.IO.Path.Combine(Application.StartupPath, mi.Ensamblado));
                        _dicEnsamblados[mi.Ensamblado] = asm;
                    }

                    PistaMgr.Instance.Debug("MenuQuantum", "Instanciando Clase " + mi.Clase);
                    IFuncionalidad form = (IFuncionalidad)asm.CreateInstance(mi.Clase);
                    form.Parametros = new ParametrosFuncionalidad(mi.Parametro);

                    PistaMgr.Instance.Debug("MenuQuantum", "Ejecutando Funcionalidad " + mi.Clase);
                    form.Ejecutar();
                    PistaMgr.Instance.Debug("MenuQuantum", "Ejecucion Funcionalidad [" + mi.Clase + "] Finalizada");
                    if (_padre != null)
                    {
                        _padre.Recargar();
                    }
                }
                catch (Exception ex)
                {
                    PistaMgr.Instance.Error("MenuQuantum", ex);
                    PistaMgr.Instance.Debug("MenuQuantum", ex);
                }
            }
        }