Imports DevExpress.Xpf.Core Imports tsUtilidades Imports tsUtilidades.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 tsUtilidades.tsUtilidadesModel.tsUtilidadesEntities ' Select Case datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Tipo ' Case TipoBD.MYSQL ' bd = bbdd.ConectartsUtilidadesEntityMySQL(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, "tsUtilidadesModel", 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.ConectartsUtilidadesEntitySQLServer(datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Servidor, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).DataBase, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Usuario, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Password, "tsUtilidadesModel") ' Case TipoBD.LOCALDB ' bd = bbdd.ConectartsUtilidadesEntityLocalDB(datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Servidor, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).Fichero, datconexcli.BasesDatos(datconexcli.NumeroBDConfiguracion).DataBase, "tsUtilidadesModel") ' 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 tsUtilidades.tsUtilidadesModel.tsUtilidadesEntities, ByRef bsi As DevExpress.Xpf.Bars.BarSubItem, mi As tsUtilidades.tsUtilidadesModel.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