Imports DevExpress.Xpf.Core Imports tsl5 Imports Enumeraciones Public Class Menus 'Shared Sub GeneraMenus(BarraMenu As DevExpress.Xpf.Bars.Bar, datconexcli As Datos.DatosConexionCliente, datsesioncli As Datos.DatosSesionCliente, Evento As DevExpress.Xpf.Bars.ItemClickEventHandler) ' Dim bd As tsl5.tsl5Model.tsl5Entities ' Select Case datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Tipo ' Case TipoBD.MYSQL ' bd = bbdd.ConectarTsl5EntityMySQL(datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Servidor, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).DataBase, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Puerto, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Usuario, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Password, "tsl5Model", datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Pooling, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).SSL, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).FicheroCertificado, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).PasswordCertificado) ' Case TipoBD.SQLSERVER ' bd = bbdd.ConectarTsl5EntitySQLServer(datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Servidor, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).DataBase, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Usuario, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Password, "tsl5Model") ' Case TipoBD.LOCALDB ' bd = bbdd.ConectarTsl5EntityLocalDB(datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Servidor, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Fichero, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).DataBase, "tsl5Model") ' Case Else ' Throw New Exception("Tipo de bd no soportado") ' End Select ' Dim menuiniciales = (From m In bd.menus Where m.idGrupoMenu = datsesioncli.idGrupoMenu Order By m.Orden Select m).ToList ' Dim bsi As DevExpress.Xpf.Bars.BarSubItem ' For Each mi In menuiniciales ' bsi = New DevExpress.Xpf.Bars.BarSubItem ' bsi.Content = mi.Texto ' Call generamenurecursivo(bd, bsi, mi, Evento) ' BarraMenu.ItemLinks.Add(bsi) ' Next 'End Sub 'Private Shared Sub generamenurecursivo(bd As tsl5.tsl5Model.tsl5Entities, ByRef bsi As DevExpress.Xpf.Bars.BarSubItem, mi As tsl5.tsl5Model.menus, Evento As DevExpress.Xpf.Bars.ItemClickEventHandler) ' Dim bsih As DevExpress.Xpf.Bars.BarSubItem ' Dim bbi As DevExpress.Xpf.Bars.BarButtonItem ' Dim submenus = (From m In bd.menus Where m.idMenuPadre = mi.idMenus Order By m.Orden Select m).ToList ' For Each sm In submenus ' If sm.Accion.Trim = "" Then ' bbi = New DevExpress.Xpf.Bars.BarButtonItem ' bbi.Content = sm.Texto ' AddHandler bbi.ItemClick, Evento ' Else ' bsih = New DevExpress.Xpf.Bars.BarSubItem ' bsih.Content = sm.Texto ' Call generamenurecursivo(bd, bsih, mi, Evento) ' bsi.ItemLinks.Add(bsih) ' End If ' Next 'End Sub End Class