Пример #1
0
        /// <summary>
        ///     ''' Permite habilitrar los modulos a los que el usuario tiene acceo en base a sus permisos en la base de datos
        ///     ''' </summary>
        ///     ''' <remarks></remarks>
        public void HabilitaModulos()
        {
            // Permiso de acceso a modulos.
            try
            {
                DataTable dt;
                LnSistema objLnSistema = new LnSistema(ModUsuario.SessionObjEnDatosConn);
                string    strError     = null;
                dt = objLnSistema.ConsultaPermisosPMM(ModUsuario.SessionIdUsuario, ref strError);

                if (dt != null)
                {
                    BindingSource bind = new BindingSource
                    {
                        DataSource = dt
                    };

                    // Se habilitan los botones de acceso a los modulos
                    btnSistema.Enabled   = bind.Find("IdModulo", ClsEnumeradores.Modulos.Sistema) >= 0;
                    btnCatálogos.Enabled = bind.Find("IdModulo", ClsEnumeradores.Modulos.Catalogos) >= 0;
                    btnVentas.Enabled    = bind.Find("IdModulo", ClsEnumeradores.Modulos.Ventas) >= 0;
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Пример #2
0
        /// <summary>
        ///     ''' Genera los menus del formulario dinámicamente
        ///     ''' </summary>
        ///     ''' <param name="Menu">mnuCatalagos</param>
        ///     ''' <param name="BarraBotones">Barra de botones</param>
        ///     ''' <param name="IdUsuario">Identificador del usuario</param>
        ///     ''' <param name="IdModulo">Identificador del módulo</param>
        ///     ''' <remarks></remarks>
        private void GeneraMenu(ref MenuStrip Menu, ref ToolStrip BarraBotones, int IdUsuario, int IdModulo)
        {
            LnSistema objLnSistema = new LnSistema(ModUsuario.SessionObjEnDatosConn);
            DataTable dtMenus;
            DataTable dtAcciones;
            string    Mensaje;

            // Limpiamos tanto el menu como la barra de botones y les indicamos la lista de imagenes que tomará
            Menu.Items.Clear();
            BarraBotones.Items.Clear();
            Menu.ImageList         = imgListBotones;
            BarraBotones.ImageList = imgListBotones;
            // Llenamos el DataTable con los menus que tiene el modulo que se mande por referencia
            Mensaje = "";
            dtMenus = objLnSistema.ConsultaPermisosPMM(IdUsuario, ref Mensaje, IdModulo, 0);
            // Validamos que no haya ocurrido ningun error
            if (Mensaje != "")
            {
                MessageBox.Show(Mensaje, "Error al cargar el menu", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            // Revisamos que haya menus a los que tenga acceso el usuario
            if (dtMenus.Rows.Count == 0)
            {
                MessageBox.Show("No tienes menus habilitados en este módulo", "Modulo denegado", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            // Recorremos los renglones para construir el menu con las opciones
            foreach (DataRow drMenu in dtMenus.Rows)
            {
                ToolStripMenuItem mnuItem = new ToolStripMenuItem();
                // Agregamos el menuitem que trae las opciones al menustrip
                Menu.Items.Add(mnuItem);
                {
                    var withBlock = mnuItem;
                    withBlock.Text = drMenu["Menu"].ToString();
                    withBlock.Name = "mnu" + drMenu["IdMenu"].ToString();
                    // Si trae imagen, se la asignamos al menu
                    if (drMenu["imagen"].ToString() != "")
                    {
                        withBlock.Image = imgListBotones.Images[drMenu["imagen"].ToString()];
                    }
                    // Si trae texto de ayuda lo ponemos
                    if (drMenu["ayuda"].ToString() != "")
                    {
                        withBlock.ToolTipText = drMenu["ayuda"].ToString();
                    }
                    // Obtenemos las acciones, osea los items de cada menu segun los permisos del usuario
                    dtAcciones = objLnSistema.ConsultaPermisosPMM(IdUsuario, ref Mensaje, IdModulo, (int)drMenu["IdMenu"]);
                    // Agregamos las opciones del menu, en base a las acciones del menu
                    foreach (DataRow drMenuItem in dtAcciones.Rows)
                    {
                        ToolStripItem botonStrip         = null /* TODO Change to default(_) if this is not a reference type */;
                        string        mnuItemNombre      = "mnuItem" + drMenuItem["IdAccion"].ToString().Trim();
                        string        mnuBotonItemNombre = "tsboton" + drMenuItem["IdAccion"].ToString().Trim();
                        // Creamos la opcion del menu
                        ToolStripMenuItem mnuItemOpcion = new ToolStripMenuItem(drMenuItem["Accion"].ToString().Trim(), null, new EventHandler(Menu_Click));
                        // Si el valor del campo boton es true, generamos un boton que haga referencia
                        if ((bool)drMenuItem["boton"])
                        {
                            botonStrip = new ToolStripButton(drMenuItem["Accion"].ToString().Trim(), null, new EventHandler(Menu_Click));
                            botonStrip.DisplayStyle = ToolStripItemDisplayStyle.Image;
                            BarraBotones.Items.Add(botonStrip);
                            if ((bool)drMenuItem["separador"])
                            {
                                BarraBotones.Items.Add(new ToolStripSeparator());
                            }
                        }
                        // Si trae un separador esta opcion, lo agregamos
                        if ((bool)drMenuItem["separador"] & (int)drMenuItem["Orden"] != 1)
                        {
                            withBlock.DropDownItems.Add("-");
                        }
                        withBlock.DropDownItems.Add(mnuItemOpcion);
                        {
                            var withBlock1 = mnuItemOpcion;
                            withBlock1.Name = mnuItemNombre;
                            if ((bool)drMenuItem["boton"])
                            {
                                botonStrip.Name = mnuBotonItemNombre;
                            }
                            // Si trae imagen, se la asignamos al menu
                            if (drMenuItem["imagen"].ToString() != "")
                            {
                                withBlock1.Image = imgListBotones.Images[drMenuItem["imagen"].ToString()];
                                // Agregamo la imagen al boton de acceso rapido
                                if ((bool)drMenuItem["boton"])
                                {
                                    botonStrip.Image = imgListBotones.Images[drMenuItem["imagen"].ToString()];
                                }
                            }
                            // Si trae texto de ayuda lo ponemos
                            if (drMenuItem["ayuda"].ToString() != "")
                            {
                                withBlock1.ToolTipText = drMenuItem["ayuda"].ToString();
                                // Agregamo la ayuda al boton de acceso rapido
                                if ((bool)drMenuItem["boton"])
                                {
                                    botonStrip.ToolTipText = drMenuItem["ayuda"].ToString();
                                }
                            }
                            // Verificamos si trae teclas de acceso rapido
                            if (drMenuItem["Caracter"].ToString().Trim() != "")
                            {
                                int CodigoTecla;
                                CodigoTecla  = int.Parse(drMenuItem["Caracter"].ToString());
                                CodigoTecla += (bool)drMenuItem["Ctrl"] ? (int)ClsEnumeradores.TeclasAtajos.Ctrl : 0;
                                CodigoTecla += (bool)drMenuItem["Alt"] ? (int)ClsEnumeradores.TeclasAtajos.Alt : 0;
                                CodigoTecla += (bool)drMenuItem["Shift"] ? (int)ClsEnumeradores.TeclasAtajos.Shift : 0;

                                withBlock1.ShortcutKeys     = (Keys)CodigoTecla;
                                withBlock1.ShowShortcutKeys = true;
                            }
                        }
                    }
                }
            }

            // Una vez creados los menus a partir de la bd, se generá el menu de "ver"
            ToolStripMenuItem tsmnuVer = new ToolStripMenuItem();

            tsmnuBarraHerramientas = new ToolStripMenuItem("&Barra de herramientas", imgListBotones.Images[""], new EventHandler(Menu_Click));
            tsmnuBarraEstado       = new ToolStripMenuItem("B&arra de estado", imgListBotones.Images[""], new EventHandler(Menu_Click));

            tsmnuBarraHerramientas.Checked      = true;
            tsmnuBarraHerramientas.CheckOnClick = true;
            tsmnuBarraHerramientas.CheckState   = CheckState.Checked;
            tsmnuBarraHerramientas.Name         = "mnuItemBarraHerrmaientas";

            tsmnuBarraEstado.Checked      = true;
            tsmnuBarraEstado.CheckOnClick = true;
            tsmnuBarraEstado.CheckState   = CheckState.Checked;
            tsmnuBarraEstado.Name         = "mnuItemBarraEstado";

            tsmnuVer.Text = "&Ver";
            tsmnuVer.Name = "mnuVer";
            // Agregamos las opciones que tendra el menu de ver
            tsmnuVer.DropDown.Items.Add(tsmnuBarraHerramientas);
            tsmnuVer.DropDown.Items.Add(tsmnuBarraEstado);

            Menu.Items.Add(tsmnuVer);
            Menu.MdiWindowListItem = tsmnuVer;

            // Se genera el menu de "ventana"
            var toolmnuVentana = new ToolStripMenuItem();

            {
                toolmnuVentana.Text = "V&entanas";
                toolmnuVentana.Name = "mnuVentanas";
                // Agregamos las opciones que tendra el menu de ventanas
                toolmnuVentana.DropDown.Items.Add("Cascada", imgListBotones.Images["VentanasCascada.png"], new EventHandler(Menu_Click)).Name       = "mnuItemCascada";
                toolmnuVentana.DropDown.Items.Add("Horizontal", imgListBotones.Images["VentanasHorizontal.png"], new EventHandler(Menu_Click)).Name = "mnuItemHorizontal";
                toolmnuVentana.DropDown.Items.Add("Vertical", imgListBotones.Images["VentanasVertical.png"], new EventHandler(Menu_Click)).Name     = "mnuItemVertical";
                toolmnuVentana.DropDown.Items.Add("Cerrar Todo", imgListBotones.Images["Delete3.png"], new EventHandler(Menu_Click)).Name           = "mnuItemCerrarTodo";
            }
            Menu.Items.Add(toolmnuVentana);
            Menu.MdiWindowListItem = toolmnuVentana;

            // Se genera el menu de "salir"
            //Menu.Items.Add("&Salir", imgListBotones.Images["Cancel2.png"], new EventHandler(Menu_Click)).Name = "mnuItemSalir";
        }
Пример #3
0
        private void frmSistema_Shown(object sender, EventArgs e)
        {
            // Ocultar pestaña de correos
            tpIsisMail.Parent = null;

            // Se crean objetos de usuarios
            string strError = null;

            try
            {
                // registro del acceso al modulo
                ObjFunciones.RegistraSesion((int)ClsEnumeradores.Modulos.Sistema, (int)ClsEnumeradores.AccionesSesion.IngresoModulo);

                // Permisos para la visualizacion de menus
                DataTable dt;
                dt = ObjLnSistema.ConsultaPermisosPMM(ModUsuario.SessionIdUsuario, ref strError, (int)ClsEnumeradores.Modulos.Sistema);
                if (dt != null & dt.Rows.Count > 0)
                {
                    BindingSource bind = new BindingSource
                    {
                        DataSource = dt
                    };

                    if (bind.Find("IdMenu", ClsEnumeradores.Menus.Perfiles) < 0)
                    {
                        TbcSistema.TabPages[0].Parent = null;
                    }

                    if (bind.Find("IdMenu", ClsEnumeradores.Menus.Usuarios) < 0)
                    {
                        TbcSistema.TabPages[1].Parent = null;
                    }
                }
                else
                {
                    TbcSistema.TabPages["tbpGrupoUsuarios"].Parent = null;
                    TbcSistema.TabPages["TbpUsuarios"].Parent      = null;
                }

                // Permisos para la visualizacion de botones (acciones de sistema) Perfiles
                dt = ObjLnSistema.ConsultaPermisosPMM(ModUsuario.SessionIdUsuario, ref strError, (int)ClsEnumeradores.Modulos.Sistema,
                                                      (int)ClsEnumeradores.Menus.Perfiles);

                if (dt != null & dt.Rows.Count > 0)
                {
                    BindingSource bind = new BindingSource
                    {
                        DataSource = dt
                    };

                    // Se habilitan los botones de acceso a los modulos
                    TsbNuevoPerfil.Enabled = bind.Find("IdAccion", ClsEnumeradores.AccionesSistema.AltaPerfil) >= 0 ? true : false;
                    TsbActualizar.Enabled  = bind.Find("IdAccion", ClsEnumeradores.AccionesSistema.ActualizacionPerfil) >= 0 ? true : false;
                    TsbInactivar.Enabled   = bind.Find("IdAccion", ClsEnumeradores.AccionesSistema.CambioStatusPerfil) >= 0 ? true : false;
                    cmsOpPermisos.Enabled  = bind.Find("IdAccion", ClsEnumeradores.AccionesSistema.AsignacionPermisos) >= 0 ? true : false;
                    cmsPermisoTodo.Enabled = bind.Find("IdAccion", ClsEnumeradores.AccionesSistema.AsignacionPermisos) >= 0 ? true : false;
                }

                // Permisos para la visualizacion de botones (acciones de sistema) Usuarios
                dt = ObjLnSistema.ConsultaPermisosPMM(ModUsuario.SessionIdUsuario, ref strError, (int)ClsEnumeradores.Modulos.Sistema,
                                                      (int)ClsEnumeradores.Menus.Usuarios);

                if (dt != null & dt.Rows.Count > 0)
                {
                    BindingSource bind = new BindingSource
                    {
                        DataSource = dt
                    };

                    // Se habilitan los botones de acceso a los modulos
                    TsbNuevoUsuario.Enabled      = bind.Find("IdAccion", ClsEnumeradores.AccionesSistema.AltaUsuario) >= 0 ? true : false;
                    TsbActualizarUsuario.Enabled = bind.Find("IdAccion", ClsEnumeradores.AccionesSistema.ActualizacionUsuario) >= 0 ? true : false;
                    TsbInactivarUsuario.Enabled  = bind.Find("IdAccion", ClsEnumeradores.AccionesSistema.CambioStatusUsuario) >= 0 ? true : false;
                    tsbResetPsw.Enabled          = bind.Find("IdAccion", ClsEnumeradores.AccionesSistema.ReseteoContraseña) >= 0 ? true : false;
                    //tsbReporteUsuarios.Enabled = bind.Find("IdAccion", ClsEnumeradores.AccionesSistema.ReportesUsuarios) >= 0 ? true : false;
                    tsbMonitorUsuarios.Enabled = bind.Find("IdAccion", ClsEnumeradores.AccionesSistema.MonitorUsuarios) >= 0 ? true : false;
                }

                CargarDgvPerfiles();
                CargarDgvUsuarios();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Close();
            }
        }