Ejemplo n.º 1
0
 private void CargarMenus(Int32 id_Perfil)
 {
     MenuSistema.Cls_Menus OpcionesMenu = new MenuSistema.Cls_Menus();
     //Ctrl_Datos._SIS.Cls_Menus OpcionesMenu = new Ctrl_Datos._SIS.Cls_Menus();
     //dtMenus = new DataTable();
     //dtMenus = OpcionesMenu.MenusWindowsDelPerfil(id_Perfil);
     //dtMenus.CaseSensitive = false;
     BLL.Procedures._MENUES_PADRES_E_HIJOS _menuesSistema = new BLL.Procedures._MENUES_PADRES_E_HIJOS();
     BLL.Procedures._MENUES_PADRES_E_HIJOS _hijos         = new BLL.Procedures._MENUES_PADRES_E_HIJOS();
     //PRIMERO TRAIGO TODOS LOS MENUES PADRES (ID_MENUPADRE = 0)
     foreach (Entities.Procedures._MENUES_PADRES_E_HIJOS ItemMenu in _menuesSistema.ItemList(0, id_Perfil))
     {
         ToolStripItem[] Menu = new ToolStripItem[1];
         Menu[0]      = new ToolStripMenuItem();
         Menu[0].Name = ItemMenu.id_menu.ToString();
         Menu[0].Text = ItemMenu.descripcionmenu.ToString();
         if (ItemMenu.urlmenu == null)
         {
             Menu[0].Tag = string.Empty;
         }
         else
         {
             Menu[0].Tag = ItemMenu.urlmenu.ToString();
         }
         //Menu[0].Image = (Image)MenuPadre["IconoMenu"];
         //Averiguando si tiene Hijos o no
         if (_hijos.ItemList(ItemMenu.id_menu, id_Perfil).Count == 0)
         {
             //Sino tiene hijos lo agrego a la barra de menu principal
             Menu[0].Click += new EventHandler(MenuItemClicked);
             MenuPpal.Items.Add(Menu[0]);
         }
         else
         {
             //Si tiene hijos llamo a la funcion recursiva y Agrego el Item sin Evento
             MenuPpal.Items.Add(Menu[0]);
             AgregarMenuHijo(Menu[0], id_Perfil, _hijos);
         }
     }
 }
Ejemplo n.º 2
0
        private void AgregarMenuHijo(ToolStripItem MenuItemPadre, int _perfil, BLL.Procedures._MENUES_PADRES_E_HIJOS _hijos)
        {
            ToolStripMenuItem MenuPadre = (ToolStripMenuItem)MenuItemPadre;

            ////Obtengo el ID del menu Enviado para saber si tiene hijos o no
            int Id = Int32.Parse(MenuPadre.Name);

            BLL.Procedures._MENUES_PADRES_E_HIJOS _tieneHijos = new BLL.Procedures._MENUES_PADRES_E_HIJOS();

            if (_tieneHijos.ItemList(Id, _perfil).Count == 0)
            {
                //Si No tiene Hijos Solo Agrego el Evento
                MenuPadre.Click += new EventHandler(MenuItemClicked);
            }
            else
            {
                //TRAIGO LOS HIJOS DE ESTE PADRE
                foreach (Entities.Procedures._MENUES_PADRES_E_HIJOS ItemMenu in _hijos.ItemList(Id, _perfil))
                {
                    ToolStripItem[] NuevoMenu = new ToolStripItem[1];
                    NuevoMenu[0]      = new ToolStripMenuItem();
                    NuevoMenu[0].Name = ItemMenu.id_menu.ToString();
                    NuevoMenu[0].Text = ItemMenu.descripcionmenu.ToString();
                    if (ItemMenu.urlmenu == null)
                    {
                        NuevoMenu[0].Tag = string.Empty;
                    }
                    else
                    {
                        NuevoMenu[0].Tag = ItemMenu.urlmenu.ToString();
                    }
                    //Averiguo se es un separador
                    if (ItemMenu.descripcionmenu.ToString() == "-")
                    {
                        MenuPadre.DropDownItems.Add(NuevoMenu[0].Text);
                    }
                    else
                    {
                        //Averiguando si tiene Hijos o no
                        if (_tieneHijos.ItemList(ItemMenu.id_menu, _perfil).Count == 0)
                        {
                            //Sino tiene hijos lo agrego al Menu Padre
                            NuevoMenu[0].Click += new EventHandler(MenuItemClicked);

                            if (ItemMenu.descripcionmenu.ToString() == "EGES")
                            {
                                NuevoMenu[0].Text = "EGESAC S.A.";
                                //VERIFICO EN QUE EMPRESA ESTOY AUTORIZADO A OPERAR
                                if (Clases.Usuario.UsuarioLogeado.EmpresaAutorizada.ToString().Trim() == "RSC")
                                {
                                    //NO HABILITO EGES
                                    NuevoMenu[0].Enabled = false;
                                }
                                else
                                {
                                    NuevoMenu[0].Enabled = (Clases.Usuario.EmpresaLogeada.EmpresaIngresada.ToString() == "EGES") ? false : true;
                                }
                            }
                            else
                            {
                                if (ItemMenu.descripcionmenu.ToString() == "RSC")
                                {
                                    NuevoMenu[0].Text = "RSC S.A.";
                                    //VERIFICO EN QUE EMPRESA ESTOY AUTORIZADO A OPERAR
                                    if (Clases.Usuario.UsuarioLogeado.EmpresaAutorizada.ToString().Trim() == "EGES")
                                    {
                                        //NO HABILITO RSC
                                        NuevoMenu[0].Enabled = false;
                                    }
                                    else
                                    {
                                        NuevoMenu[0].Enabled = (Clases.Usuario.EmpresaLogeada.EmpresaIngresada.ToString() == "RSC") ? false : true;
                                    }
                                }
                            }

                            MenuPadre.DropDownItems.Add(NuevoMenu[0]);
                        }
                        else
                        {
                            //Si tiene hijos llamo a la funcion recursiva y Agrego el Item sin Evento
                            MenuPadre.DropDownItems.Add(NuevoMenu[0]);
                            AgregarMenuHijo(NuevoMenu[0], _perfil, _tieneHijos);
                        }
                    }
                }
            }
        }