Example #1
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);
                }
            }
        }
Example #2
0
        private void CrearMenu(DataTable odr)
        {
            decimal NumOpcion          = 0;
            string  Descripcion        = string.Empty;
            decimal OpcionMadre        = 0;
            string  ensamblado         = string.Empty;
            string  clase              = string.Empty;
            string  parametro          = string.Empty;
            decimal icon               = 0;
            string  param              = string.Empty;
            long    d_tipo_opcion_menu = 0;

            System.Drawing.Font font = GetFontBase();
            NodoMenuPrincipal   item = null;

            foreach (DataRow r in odr.Rows)
            {
                NumOpcion          = ObjetoDeNegocio.GetValor <long>(r["num_opcion"]);
                OpcionMadre        = ObjetoDeNegocio.GetValor <long>(r["num_opcion_madre"]);
                Descripcion        = ObjetoDeNegocio.GetValor <string>(r["descripcion_opcion"]);
                ensamblado         = ObjetoDeNegocio.GetValor <string>(r["ensamblado"]);
                clase              = ObjetoDeNegocio.GetValor <string>(r["clase"]);
                parametro          = ObjetoDeNegocio.GetValor <string>(r["parametro"]);
                icon               = ObjetoDeNegocio.GetValor <long>(r["icon"]);
                d_tipo_opcion_menu = ObjetoDeNegocio.GetValor <long>(r["d_tipo_opcion_menu"]);

                item = new NodoMenuPrincipal(Descripcion, ensamblado, clase, parametro, icon, new EventHandler(formClick), font, false);
                _dicItems[(long)NumOpcion] = item;
                if ((D_TIPO_OPCION_MENU)d_tipo_opcion_menu == D_TIPO_OPCION_MENU.OPCION_INTERNA)
                {
                }
                else if (OpcionMadre == 0)
                {
                    _tvwMenu.Nodes.Add(item);
                }
                else
                {
                    _dicItems[(long)OpcionMadre].Nodes.Add(item);
                }
            }
        }