public List <AccesoUsuarioBE> SeleccionaCriterioVarios(int IdUser, int IdPerfil)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_AccesoUsuario_SeleccionaUserPerfil");

            db.AddInParameter(dbCommand, "pIdUser", DbType.Int32, IdUser);
            db.AddInParameter(dbCommand, "pIdPerfil", DbType.Int32, IdPerfil);

            IDataReader            reader            = db.ExecuteReader(dbCommand);
            List <AccesoUsuarioBE> accesousuariolist = new List <AccesoUsuarioBE>();
            AccesoUsuarioBE        accesousuario;

            while (reader.Read())
            {
                accesousuario                   = new AccesoUsuarioBE();
                accesousuario.IdUser            = Int32.Parse(reader["iduser"].ToString());
                accesousuario.IdPerfil          = Int32.Parse(reader["idperfil"].ToString());
                accesousuario.IdMenu            = Int32.Parse(reader["idmenu"].ToString());
                accesousuario.FlagLectura       = Boolean.Parse(reader["flaglectura"].ToString());
                accesousuario.FlagAdicion       = Boolean.Parse(reader["flagadicion"].ToString());
                accesousuario.FlagActualizacion = Boolean.Parse(reader["flagactualizacion"].ToString());
                accesousuario.FlagEliminacion   = Boolean.Parse(reader["flageliminacion"].ToString());
                accesousuario.FlagImpresion     = Boolean.Parse(reader["flagimpresion"].ToString());
                accesousuario.FlagEstado        = Boolean.Parse(reader["flagestado"].ToString());
                accesousuariolist.Add(accesousuario);
            }
            reader.Close();
            reader.Dispose();
            return(accesousuariolist);
        }
        public List <AccesoUsuarioBE> SeleccionaUser(int IdUser)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_AccesoUsuario_SeleccionaUser");

            db.AddInParameter(dbCommand, "pIdUser", DbType.Int32, IdUser);
            IDataReader            reader            = db.ExecuteReader(dbCommand);
            List <AccesoUsuarioBE> accesousuariolist = new List <AccesoUsuarioBE>();
            AccesoUsuarioBE        accesousuario;

            while (reader.Read())
            {
                accesousuario                  = new AccesoUsuarioBE();
                accesousuario.IdUser           = Int32.Parse(reader["iduser"].ToString());
                accesousuario.IdPerfil         = Int32.Parse(reader["idperfil"].ToString());
                accesousuario.IdMenu           = Int32.Parse(reader["idmenu"].ToString());
                accesousuario.MenuCodigo       = reader["menucodigo"].ToString();
                accesousuario.IdMenuPadre      = Int32.Parse(reader["idmenupadre"].ToString());
                accesousuario.MenuDescripcion  = reader["menudescripcion"].ToString();
                accesousuario.Imagen           = reader["imagen"].ToString();
                accesousuario.LargeImage       = Boolean.Parse(reader["largeimage"].ToString());
                accesousuario.Clase            = reader["clase"].ToString();
                accesousuario.Ensamblado       = reader["ensamblado"].ToString();
                accesousuario.IdMenuTipo       = Int32.Parse(reader["idmenutipo"].ToString());
                accesousuario.ModoCargaVentana = Byte.Parse(reader["modocargaventana"].ToString());
                accesousuariolist.Add(accesousuario);
            }
            reader.Close();
            reader.Dispose();
            return(accesousuariolist);
        }
        public void Elimina(AccesoUsuarioBE pItem)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_AccesoUsuario_Elimina");

            db.AddInParameter(dbCommand, "pIdUser", DbType.Int32, pItem.IdUser);
            db.AddInParameter(dbCommand, "pIdPerfil", DbType.Int32, pItem.IdPerfil);
            db.AddInParameter(dbCommand, "pIdMenu", DbType.Int32, pItem.IdMenu);
            db.AddInParameter(dbCommand, "pUsuario", DbType.String, pItem.Usuario);
            db.AddInParameter(dbCommand, "pMaquina", DbType.String, pItem.Maquina);
            db.AddInParameter(dbCommand, "pIdEmpresa", DbType.Int32, pItem.IdEmpresa);

            db.ExecuteNonQuery(dbCommand);
        }
        private void trwMenu_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            try
            {
                string[] objectString = e.Node.Tag.ToString().Split(new char[] { ';' });
                this.lblMenu.Text = e.Node.Text;
                menuID            = Convert.ToInt32(objectString[0]);

                if (pListaAccesoUsuario.Count > 0)
                {
                    AccesoUsuarioBE Acceso = pListaAccesoUsuario.Find(delegate(AccesoUsuarioBE _Acc)
                    {
                        if (_Acc.IdMenu == menuID)
                        {
                            return(true);
                        }
                        return(false);
                    });

                    if (Acceso != null)
                    {
                        //Mostrar datos en los checkbox
                        this.chkAllowRead.Checked   = Acceso.FlagLectura;
                        this.chkAllowWrite.Checked  = Acceso.FlagAdicion;;
                        this.chkAllowUpdate.Checked = Acceso.FlagActualizacion;;
                        this.chkAllowDelete.Checked = Acceso.FlagEliminacion;;
                        this.chkAllowPrint.Checked  = Acceso.FlagImpresion;;
                    }
                    else
                    {
                        this.chkAllowRead.Checked   = false;
                        this.chkAllowWrite.Checked  = false;
                        this.chkAllowUpdate.Checked = false;
                        this.chkAllowDelete.Checked = false;
                        this.chkAllowPrint.Checked  = false;
                    }
                }
            }
            catch (Exception ex)
            {
                Cursor = Cursors.Default;
                XtraMessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        void AccessByPerfilID(int perfilID)
        {
            try
            {
                CheckAllNodes(this.trwMenu.Nodes, false);

                pListaAcceso = new AccesoBL().SeleccionaPerfil(perfilID);

                foreach (AccesoBE item in pListaAcceso)
                {
                    //AGREGAR EL FLAG AQUI .....
                    find = true;
                    CheckNodes(this.trwMenu.Nodes, item.IdMenu);
                }
                //AGREGAR EL FLAG AQUI .....
                find = false;

                //Llenamos la Lista de AccesoUsuario de acuerdo al perfil

                foreach (AccesoBE item in pListaAcceso)
                {
                    AccesoUsuarioBE accesousuario = null;
                    accesousuario                   = new AccesoUsuarioBE();
                    accesousuario.IdUser            = IdUser;
                    accesousuario.IdPerfil          = IdPerfil;
                    accesousuario.IdMenu            = item.IdMenu;
                    accesousuario.FlagLectura       = item.FlagLectura;
                    accesousuario.FlagAdicion       = item.FlagAdicion;
                    accesousuario.FlagActualizacion = item.FlagActualizacion;
                    accesousuario.FlagEliminacion   = item.FlagEliminacion;
                    accesousuario.FlagImpresion     = item.FlagImpresion;
                    accesousuario.FlagEstado        = item.FlagEstado;
                    accesousuario.TipoOper          = Convert.ToInt32(Operacion.Nuevo);
                    pListaAccesoUsuario.Add(accesousuario);
                }
            }
            catch (Exception ex)
            {
                Cursor = Cursors.Default;
                XtraMessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        void Accesos(string Ensamblado)
        {
            AccesoUsuarioBE PermisoAcceso = Parametros.pListaPermisoAcceso.Find(delegate(AccesoUsuarioBE _Acc)
            {
                if (_Acc.Ensamblado == Ensamblado)
                {
                    return(true);
                }
                return(false);
            });

            if (PermisoAcceso != null)
            {
                _LECTURA       = PermisoAcceso.FlagLectura;
                _ADICION       = PermisoAcceso.FlagAdicion;
                _ACTUALIZACION = PermisoAcceso.FlagActualizacion;
                _ELIMINACION   = PermisoAcceso.FlagEliminacion;
                _IMPRESION     = PermisoAcceso.FlagImpresion;
            }
        }
        public void Actualiza(AccesoUsuarioBE pItem)
        {
            Database  db        = DatabaseFactory.CreateDatabase("cnSSOMABD");
            DbCommand dbCommand = db.GetStoredProcCommand("usp_AccesoUsuario_Actualiza");

            db.AddInParameter(dbCommand, "pIdUser", DbType.Int32, pItem.IdUser);
            db.AddInParameter(dbCommand, "pIdPerfil", DbType.Int32, pItem.IdPerfil);
            db.AddInParameter(dbCommand, "pIdMenu", DbType.Int32, pItem.IdMenu);
            db.AddInParameter(dbCommand, "pFlagLectura", DbType.Boolean, pItem.FlagLectura);
            db.AddInParameter(dbCommand, "pFlagAdicion", DbType.Boolean, pItem.FlagAdicion);
            db.AddInParameter(dbCommand, "pFlagActualizacion", DbType.Boolean, pItem.FlagActualizacion);
            db.AddInParameter(dbCommand, "pFlagEliminacion", DbType.Boolean, pItem.FlagEliminacion);
            db.AddInParameter(dbCommand, "pFlagImpresion", DbType.Boolean, pItem.FlagImpresion);
            db.AddInParameter(dbCommand, "pFlagEstado", DbType.Boolean, pItem.FlagEstado);
            db.AddInParameter(dbCommand, "pUsuario", DbType.String, pItem.Usuario);
            db.AddInParameter(dbCommand, "pMaquina", DbType.String, pItem.Maquina);
            db.AddInParameter(dbCommand, "pIdEmpresa", DbType.Int32, pItem.IdEmpresa);

            db.ExecuteNonQuery(dbCommand);
        }
        void RemoveMenu(int IdMenu)
        {
            //Borrar en bloque
            AccesoUsuarioBE Acceso = pListaAccesoUsuario.Find(delegate(AccesoUsuarioBE _Acc)
            {
                if (_Acc.IdMenu == IdMenu)
                {
                    return(true);
                }
                return(false);
            });

            if (Acceso != null)
            {
                if (Acceso.TipoOper == Convert.ToInt32(Operacion.Nuevo))
                {
                    Acceso.TipoOper = Convert.ToInt32(Operacion.Consultar);
                }
                if (Acceso.TipoOper == Convert.ToInt32(Operacion.Modificar) || Acceso.TipoOper == Convert.ToInt32(Operacion.Consultar))
                {
                    Acceso.TipoOper = Convert.ToInt32(Operacion.Eliminar);
                }
            }
        }
        void AddMenu(int IdMenu)
        {
            var Buscar = pListaAccesoUsuario.Where(oB => oB.IdMenu == IdMenu).ToList();

            if (Buscar.Count > 0)
            {
            }
            else
            {
                AccesoUsuarioBE accesousuario = null;
                accesousuario                   = new AccesoUsuarioBE();
                accesousuario.IdUser            = IdUser;
                accesousuario.IdPerfil          = IdPerfil;
                accesousuario.IdMenu            = IdMenu;
                accesousuario.FlagLectura       = true;
                accesousuario.FlagAdicion       = true;
                accesousuario.FlagActualizacion = true;
                accesousuario.FlagEliminacion   = true;
                accesousuario.FlagImpresion     = true;
                accesousuario.FlagEstado        = true;
                accesousuario.TipoOper          = Convert.ToInt32(Operacion.Nuevo);
                pListaAccesoUsuario.Add(accesousuario);
            }
        }
Example #10
0
        private void frmIDE_Load(object sender, EventArgs e)
        {
            //frmImage f = new frmImage();
            //f.MdiParent = this;
            //f.WindowState = FormWindowState.Maximized;
            //f.Show();

            //comprobamos si se han pasado parámetros
            if (Environment.GetCommandLineArgs().Length > 1)
            {
                tmr_ExintorPorVencer.Enabled = true;
                tmr_ExintorPorVencer.Start();
                //String[] parametros = Environment.GetCommandLineArgs();

                string srtUsuario    = Environment.GetCommandLineArgs()[1];
                string srtClave      = Environment.GetCommandLineArgs()[2];
                string srtNombre     = Environment.GetCommandLineArgs()[3];
                string srtCodUnidadP = Environment.GetCommandLineArgs()[4];
                string srtCodCentroP = Environment.GetCommandLineArgs()[5];

                //srtUsuario = parametros[0].ToString();
                //srtClave = parametros[1].ToString();
                //srtNombre = parametros[2].ToString();
                //srtCodUnidadP = parametros[3].ToString();
                //srtCodCentroP = parametros[4].ToString();

                //for (int i = 0; i < parametros.Length; i++)
                //{
                //    MessageBox.Show("Parámetro " + parametros[i]);
                //}

                Encrypt objCrypto = new Encrypt(Encrypt.CryptoProvider.Rijndael);
                objCrypto.Key = Parametros.Key;
                objCrypto.IV  = Parametros.IV;

                string    _password    = objCrypto.CifrarCadena(srtClave);
                UsuarioBE objE_Usuario = new UsuarioBL().LogOnUser(srtUsuario.Trim(), _password);
                if (objE_Usuario != null)
                {
                    UnidadMineraBE objE_UnidadMinera = null;
                    objE_UnidadMinera = new UnidadMineraBL().SeleccionaParametros(srtCodUnidadP, srtCodCentroP);
                    if (objE_UnidadMinera != null)
                    {
                        List <UsuarioUnidadMineraBE> lstUsuarioUnidadMinera = null;
                        lstUsuarioUnidadMinera = new UsuarioUnidadMineraBL().ListaEmpresaUnidadUusuario(objE_UnidadMinera.IdEmpresa, objE_UnidadMinera.IdUnidadMinera, objE_Usuario.IdUser);
                        if (lstUsuarioUnidadMinera.Count == 0)
                        {
                            XtraMessageBox.Show("El usuario no tiene permiso para ver la unidad seleccionada", "Inicio Sesión", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            return;
                        }

                        Parametros.intPerfilId       = objE_Usuario.IdPerfil;
                        Parametros.strNomPerfil      = objE_Usuario.DescPerfil;
                        Parametros.intEmpresaId      = objE_UnidadMinera.IdEmpresa;
                        Parametros.intUnidadMineraId = objE_UnidadMinera.IdUnidadMinera;
                        Parametros.strEmpresaNombre  = objE_UnidadMinera.RazonSocial;
                        Parametros.strUnidadNombre   = objE_UnidadMinera.DescUnidadMinera;
                        Parametros.intUsuarioId      = objE_Usuario.IdUser;
                        Parametros.strUsuarioLogin   = objE_Usuario.Usuario;
                        Parametros.strUsuarioNombres = objE_Usuario.Descripcion;

                        //Obtenemos todos los permisos del usuario logueado
                        Parametros.pListaPermisoAcceso = new AccesoUsuarioBL().SeleccionaPermisoAcceso(objE_Usuario.Usuario, objE_Usuario.IdPerfil).ToList();
                    }
                }
                else
                {
                    //Crear el usuario
                    Encrypt objCryptoUsuario = new Encrypt(Encrypt.CryptoProvider.Rijndael);
                    objCryptoUsuario.Key = Parametros.Key;
                    objCryptoUsuario.IV  = Parametros.IV;
                    string Password = "";
                    Password = objCryptoUsuario.CifrarCadena(srtClave);

                    UsuarioBL objBL_Usuario = new UsuarioBL();
                    UsuarioBE objUsuario    = new UsuarioBE();

                    UnidadMineraBE objE_UnidadMinera = null;
                    objE_UnidadMinera = new UnidadMineraBL().SeleccionaParametros(srtCodUnidadP, srtCodCentroP);

                    objUsuario.IdEmpresa   = objE_UnidadMinera.IdEmpresa;
                    objUsuario.IdPerfil    = 3;
                    objUsuario.Descripcion = srtNombre;
                    objUsuario.Usuario     = srtUsuario;
                    objUsuario.Password    = Password;
                    objUsuario.FlagMaster  = false;
                    objUsuario.FlagEstado  = true;
                    objUsuario.UsuarioCrea = "master";
                    objUsuario.Maquina     = WindowsIdentity.GetCurrent().Name.ToString();
                    objUsuario.IdEmpresa   = objE_UnidadMinera.IdEmpresa;

                    //traemos los acceso del perfil de solo lectura
                    List <AccesoBE>              pListaAcceso              = new List <AccesoBE>();
                    List <AccesoUsuarioBE>       pListaAccesoUsuario       = new List <AccesoUsuarioBE>();
                    List <UsuarioUnidadMineraBE> pListaUsuarioUnidadMinera = new List <UsuarioUnidadMineraBE>();

                    pListaAcceso = new AccesoBL().SeleccionaPerfil(3);

                    foreach (AccesoBE item in pListaAcceso)
                    {
                        AccesoUsuarioBE accesousuario = null;
                        accesousuario                   = new AccesoUsuarioBE();
                        accesousuario.IdUser            = 0;
                        accesousuario.IdPerfil          = 3;
                        accesousuario.IdMenu            = item.IdMenu;
                        accesousuario.FlagLectura       = item.FlagLectura;
                        accesousuario.FlagAdicion       = item.FlagAdicion;
                        accesousuario.FlagActualizacion = item.FlagActualizacion;
                        accesousuario.FlagEliminacion   = item.FlagEliminacion;
                        accesousuario.FlagImpresion     = item.FlagImpresion;
                        accesousuario.FlagEstado        = item.FlagEstado;
                        accesousuario.TipoOper          = Convert.ToInt32(Operacion.Nuevo);
                        pListaAccesoUsuario.Add(accesousuario);
                    }

                    //Acceso de lectura a todas las unidades de la empresa
                    List <UnidadMineraBE> lstUnidadMinera = null;
                    lstUnidadMinera = new UnidadMineraBL().ListaTodosActivo(0);

                    foreach (var item in lstUnidadMinera)
                    {
                        UsuarioUnidadMineraBE objE_UsuarioUnidadMinera = null;
                        objE_UsuarioUnidadMinera = new UsuarioUnidadMineraBE();
                        objE_UsuarioUnidadMinera.IdUsuarioUnidadMinera = 0;
                        objE_UsuarioUnidadMinera.IdEmpresa             = item.IdEmpresa;
                        objE_UsuarioUnidadMinera.IdUser         = 0;
                        objE_UsuarioUnidadMinera.IdUnidadMinera = item.IdUnidadMinera;
                        objE_UsuarioUnidadMinera.FlagEstado     = true;
                        objE_UsuarioUnidadMinera.TipoOper       = Convert.ToInt32(Operacion.Nuevo);
                        pListaUsuarioUnidadMinera.Add(objE_UsuarioUnidadMinera);
                    }

                    objBL_Usuario.Inserta(objUsuario, pListaAccesoUsuario, pListaUsuarioUnidadMinera);

                    UsuarioBE objE_UsuarioLogueado = null;
                    objE_UsuarioLogueado = new UsuarioBL().SeleccionaUsuario(srtUsuario);
                    {
                        Parametros.intPerfilId       = objE_UsuarioLogueado.IdPerfil;
                        Parametros.strNomPerfil      = objE_UsuarioLogueado.DescPerfil;
                        Parametros.intEmpresaId      = objE_UnidadMinera.IdEmpresa;
                        Parametros.intUnidadMineraId = objE_UnidadMinera.IdUnidadMinera;
                        Parametros.strEmpresaNombre  = objE_UnidadMinera.RazonSocial;
                        Parametros.strUnidadNombre   = objE_UnidadMinera.DescUnidadMinera;
                        Parametros.intUsuarioId      = objE_UsuarioLogueado.IdUser;
                        Parametros.strUsuarioLogin   = objE_UsuarioLogueado.Usuario;
                        Parametros.strUsuarioNombres = objE_UsuarioLogueado.Descripcion;

                        //Obtenemos todos los permisos del usuario logueado
                        Parametros.pListaPermisoAcceso = new AccesoUsuarioBL().SeleccionaPermisoAcceso(objE_UsuarioLogueado.Usuario, objE_UsuarioLogueado.IdPerfil).ToList();
                    }
                }

                //Aqui se carga los menus del usuario en el Control Ribbon
                _ribbon = new Ribbon(this.ribbon, new AccesoUsuarioBL().SeleccionaUser(Parametros.intUsuarioId).ToList());
                _ribbon.Fill();
                _ribbon.RibbonClick += new Ribbon.delegateRibbonClick(_ribbon_RibbonClick);

                //Carga el Status Bar
                BarButtonItem stbButtonEmpresa = new DevExpress.XtraBars.BarButtonItem();
                stbButtonEmpresa.Caption = Parametros.strEmpresaNombre;

                BarButtonItem stbButtonTienda = new DevExpress.XtraBars.BarButtonItem();
                stbButtonTienda.Caption   = "  UNIDAD : " + Parametros.strUnidadNombre;
                stbButtonTienda.Alignment = BarItemLinkAlignment.Left;

                BarButtonItem stbButtonUsuario = new DevExpress.XtraBars.BarButtonItem();
                stbButtonUsuario.Caption   = "USUARIO : " + Parametros.strUsuarioNombres;
                stbButtonUsuario.Alignment = BarItemLinkAlignment.Right;

                ribbonStatusBar.ItemLinks.Add(stbButtonEmpresa);
                ribbonStatusBar.ItemLinks.Add(stbButtonTienda);
                ribbonStatusBar.ItemLinks.Add(stbButtonUsuario);

                if (Parametros.intPerfilId == 3)
                {
                    Cursor = Cursors.WaitCursor;
                    XtraForm form = new XtraForm();
                    form           = (XtraForm)System.Reflection.Assembly.GetExecutingAssembly().CreateInstance("SSOMA.Presentacion.Modulos.SSOMABase.Registros.frmRegPlanilla");
                    form.MdiParent = this;
                    form.Text      = "SSOMA-Base";
                    form.Tag       = "SSOMA.Presentacion.Modulos.SSOMABase.Registros.frmRegPlanilla";
                    form.Show();
                    Cursor = Cursors.Default;
                }
            }
            else
            {
                //MessageBox.Show("No se han pasado parámetros, sólo el de defecto: " +
                //Environment.NewLine + Environment.NewLine +
                //Environment.GetCommandLineArgs()[0], "Parámetros en C#",
                //MessageBoxButtons.OK, MessageBoxIcon.Information);

                tmr_ExintorPorVencer.Enabled = true;
                tmr_ExintorPorVencer.Start();

                //Cargamos el Login
                Application.DoEvents();
                frmLogin fLogin = new frmLogin();
                fLogin.Owner = this;
                fLogin.ShowDialog();
                if (fLogin.DialogResult == DialogResult.Yes)
                {
                    //Aqui se carga los menus del usuario en el Control Ribbon
                    _ribbon = new Ribbon(this.ribbon, new AccesoUsuarioBL().SeleccionaUser(Parametros.intUsuarioId).ToList());
                    _ribbon.Fill();
                    _ribbon.RibbonClick += new Ribbon.delegateRibbonClick(_ribbon_RibbonClick);

                    //Carga el Status Bar
                    BarButtonItem stbButtonEmpresa = new DevExpress.XtraBars.BarButtonItem();
                    stbButtonEmpresa.Caption = Parametros.strEmpresaNombre;

                    BarButtonItem stbButtonTienda = new DevExpress.XtraBars.BarButtonItem();
                    stbButtonTienda.Caption   = "  UNIDAD : " + Parametros.strUnidadNombre;
                    stbButtonTienda.Alignment = BarItemLinkAlignment.Left;

                    BarButtonItem stbButtonUsuario = new DevExpress.XtraBars.BarButtonItem();
                    stbButtonUsuario.Caption   = "USUARIO : " + Parametros.strUsuarioNombres;
                    stbButtonUsuario.Alignment = BarItemLinkAlignment.Right;

                    ribbonStatusBar.ItemLinks.Add(stbButtonEmpresa);
                    ribbonStatusBar.ItemLinks.Add(stbButtonTienda);
                    ribbonStatusBar.ItemLinks.Add(stbButtonUsuario);

                    //-------------------------------------------------------------------------------------------------------------------------------
                    fLogin.Close();
                    fLogin.Dispose();

                    //SOLAMENTE A EJECUCIÓN DE LOS ADMINISTRADORES
                    if (Parametros.intPerfilId == 1)
                    {
                        ActualizaPersonal();
                    }
                }
                else
                {
                    Application.Exit();
                };
            }
        }
        private void chkAllowRead_CheckedChanged(object sender, EventArgs e)
        {
            try
            {
                AccesoUsuarioBE Acceso = pListaAccesoUsuario.Find(delegate(AccesoUsuarioBE _Acc)
                {
                    if (_Acc.IdMenu == menuID)
                    {
                        return(true);
                    }
                    return(false);
                });

                if (Acceso != null)
                {
                    CheckBox obj = new CheckBox();
                    obj = (CheckBox)sender;

                    AccesoUsuarioBE AccesoMenu = pListaAccesoUsuario.Find(delegate(AccesoUsuarioBE _Acc)
                    {
                        if (_Acc.IdMenu == menuID)
                        {
                            return(true);
                        }
                        return(false);
                    });

                    switch (obj.Name)
                    {
                    case "chkAllowRead":
                        if (IdUser == 0)
                        {
                            if (AccesoMenu != null)
                            {
                                AccesoMenu.FlagLectura = chkAllowRead.Checked;
                            }
                        }
                        else
                        {
                            AccesoMenu.FlagLectura = chkAllowRead.Checked;

                            if (AccesoMenu.TipoOper == Convert.ToInt32(Operacion.Consultar))
                            {
                                AccesoMenu.TipoOper = Convert.ToInt32(Operacion.Modificar);
                            }
                        }

                        break;

                    case "chkAllowWrite":
                        if (IdUser == 0)
                        {
                            if (AccesoMenu != null)
                            {
                                AccesoMenu.FlagAdicion = chkAllowWrite.Checked;
                            }
                        }
                        else
                        {
                            AccesoMenu.FlagAdicion = chkAllowWrite.Checked;

                            if (AccesoMenu.TipoOper == Convert.ToInt32(Operacion.Consultar))
                            {
                                AccesoMenu.TipoOper = Convert.ToInt32(Operacion.Modificar);
                            }
                        }

                        break;

                    case "chkAllowUpdate":
                        if (IdUser == 0)
                        {
                            if (AccesoMenu != null)
                            {
                                AccesoMenu.FlagActualizacion = chkAllowUpdate.Checked;
                            }
                        }
                        else
                        {
                            AccesoMenu.FlagActualizacion = chkAllowUpdate.Checked;

                            if (AccesoMenu.TipoOper == Convert.ToInt32(Operacion.Consultar))
                            {
                                AccesoMenu.TipoOper = Convert.ToInt32(Operacion.Modificar);
                            }
                        }
                        break;

                    case "chkAllowDelete":
                        if (IdUser == 0)
                        {
                            if (AccesoMenu != null)
                            {
                                AccesoMenu.FlagEliminacion = chkAllowDelete.Checked;
                            }
                        }
                        else
                        {
                            AccesoMenu.FlagEliminacion = chkAllowDelete.Checked;

                            if (AccesoMenu.TipoOper == Convert.ToInt32(Operacion.Consultar))
                            {
                                AccesoMenu.TipoOper = Convert.ToInt32(Operacion.Modificar);
                            }
                        }
                        break;

                    case "chkAllowPrint":
                        if (IdUser == 0)
                        {
                            if (AccesoMenu != null)
                            {
                                AccesoMenu.FlagImpresion = chkAllowPrint.Checked;
                            }
                        }
                        else
                        {
                            AccesoMenu.FlagImpresion = chkAllowPrint.Checked;

                            if (AccesoMenu.TipoOper == Convert.ToInt32(Operacion.Consultar))
                            {
                                AccesoMenu.TipoOper = Convert.ToInt32(Operacion.Modificar);
                            }
                        }
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                Cursor = Cursors.Default;
                XtraMessageBox.Show(ex.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }