private void ShowToolStipItems(ToolStripItemCollection toolStripItems) { foreach (ToolStripMenuItem mi in toolStripItems) { mi.ToolTipText = mi.Name; if (mi.DropDownItems.Count > 0) { ShowToolStipItems(mi.DropDownItems); } Roles_Permisos valueFilter = Permission.Where(e => e.fkcontrolid == mi.Name).FirstOrDefault(); if (valueFilter != null) { if (valueFilter.Invisible > 0) { mi.Visible = false; } else { mi.Visible = true; } if (valueFilter.Disabled > 0) { mi.Enabled = false; } else { mi.Enabled = true; } } } }
private void ValidatePermission(Control.ControlCollection controlCollection) { foreach (Control c in controlCollection) { if (c.Controls.Count > 0) { ValidatePermission(c.Controls); } if (c is MenuStrip) { MenuStrip menuStrip = c as MenuStrip; ShowToolStipItems(menuStrip.Items); } if (c is Button || c is ComboBox || c is TextBox || c is ListBox || c is DataGridView || c is RadioButton || c is RichTextBox || c is TabPage || c is TextBox || c is GroupBox) { Roles_Permisos valueFilter = Permission.Where(e => e.fkcontrolid == c.Name).FirstOrDefault(); if (valueFilter != null) { if (valueFilter.Invisible > 0) { c.Visible = false; } else { c.Visible = true; } if (valueFilter.Disabled > 0) { c.Enabled = false; } else { c.Enabled = true; } } } } }
public ActionResult Index(Roles_Permisos model) { var rol_permisos = baseDatos.Rol_Permisos.ToList(); //Role y Permiso de Admin y Gestionar Permisos int permisoID = baseDatos.Permisos.Where(m => m.nombre == "Gestionar Permisos").First().codigo; string roleID = context.Roles.Where(m => m.Name == "Admin").First().Id; foreach (var rol_permiso in rol_permisos) { if ((rol_permiso.permiso != permisoID) || (rol_permiso.rol != roleID)) { baseDatos.Entry(rol_permiso).State = System.Data.Entity.EntityState.Deleted; } } baseDatos.SaveChanges(); foreach (var relacion_rol_permiso in model.rolPermisoId) { if (relacion_rol_permiso.valor) { if ((relacion_rol_permiso.rol != roleID) || (relacion_rol_permiso.permiso != permisoID)) { var rolPermisosEntry = new Rol_Permisos(); rolPermisosEntry.permiso = relacion_rol_permiso.permiso; rolPermisosEntry.rol = relacion_rol_permiso.rol; baseDatos.Rol_Permisos.Add(rolPermisosEntry); } } else { if ((relacion_rol_permiso.rol == roleID) && (relacion_rol_permiso.permiso == permisoID)) { this.AddToastMessage("Advertencia", "No se puede quitar gestionar permisos al administrador! Por lo tanto no se quitó.", ToastType.Warning); } } } baseDatos.SaveChanges(); this.AddToastMessage("Permisos Guardados", "Se han logrado asignar los permisos a sus respectivos roles correctamente.", ToastType.Success); return(RedirectToAction("Index", "Roles_Permisos")); }
/// <summary> /// Despliega la pagina index. /// </summary> /// <returns>Pagina de Index</returns> // GET: Roles_Permisos public ActionResult Index() { if (!revisarPermisos("Gestionar Permisos")) { this.AddToastMessage("Acceso Denegado", "No tienes el permiso para gestionar Roles!", ToastType.Warning); return(RedirectToAction("Index", "Home")); } Roles_Permisos modelo = new Roles_Permisos(); modelo.roles = context.Roles.ToList(); modelo.permisos = baseDatos.Permisos.ToList(); modelo.rol_permisos = baseDatos.Rol_Permisos.ToList(); modelo.rolPermisoId = new List <Roles_Permisos.Relacion_Rol_Permiso>(); foreach (var rol in modelo.roles) { foreach (var permiso in modelo.permisos) { Rol_Permisos rol_nuevo = new Rol_Permisos(); rol_nuevo.permiso = permiso.codigo; rol_nuevo.rol = rol.Id; bool exists = false; foreach (var rol_permiso in modelo.rol_permisos) { if (rol_permiso.permiso == permiso.codigo && rol.Id == rol_permiso.rol) { exists = true; } } modelo.rolPermisoId.Add(new Roles_Permisos.Relacion_Rol_Permiso(rol.Id, permiso.codigo, exists)); } } return(View(modelo)); }
private void buttonBuscar_Click(object sender, EventArgs e) { try { switch (this.Tipo) { case 1: GrbBuscar.Visible = false; string Operation = string.Empty; Roles_Permisos permisoConsulta = DBMETAL_SHARP.Common.Common.Permissions.Where(s => s.fkcontrolid == "TxbPesaje").FirstOrDefault(); if (permisoConsulta.ContenedorOtros > 0 && permisoConsulta.ContenedorPeqMineria > 0 && permisoConsulta.ContenedorZandor > 0) { Operation = "Marcaciones"; } else if (permisoConsulta.ContenedorOtros > 0 || permisoConsulta.ContenedorPeqMineria > 0) { Operation = "MarcacionesOtros"; } else { Operation = "MarcacionesZandor"; } DataSet DSInitial = ConsultaTablas.Dataset(Operation, this.Fecha.ToShortDateString(), 0, 0.00); DataTable dt = DSInitial.Tables[0].Clone(); dt.Merge(DSInitial.Tables[0]); DataRow[] dtrow = dt.Select("Muestreo=" + 0); DSInitial.Tables[0].Clear(); for (int i = 0; i < dtrow.Length; i++) { DSInitial.Tables[0].ImportRow(dtrow[i]); } dataGridViewConsulta.DataSource = DSInitial; dataGridViewConsulta.DataMember = "Result"; dataGridViewConsulta.Columns["PesoVacio"].DefaultCellStyle.Format = "##,##.00"; dataGridViewConsulta.Columns["PesoVacio"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; dataGridViewConsulta.Columns["PesoLleno"].DefaultCellStyle.Format = "##,##.00"; dataGridViewConsulta.Columns["PesoLleno"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; dataGridViewConsulta.Columns["PesoTotal"].DefaultCellStyle.Format = "##,##.00"; dataGridViewConsulta.Columns["PesoTotal"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; dataGridViewConsulta.AutoResizeColumns(); break; case 2: List_CamposRDB FindEntities = new List_CamposRDB(); SqlParameter[] Parametros = new SqlParameter[4]; int IdBuscar = LlenarRDB.ConsultarIdRadioButton(GrbBuscar); DataSet DS; Parametros[0] = new SqlParameter("@Op", "LlenarGrid"); Parametros[1] = new SqlParameter("@ParametroChar", this.TxbConsulta.Text.Trim()); Parametros[2] = new SqlParameter("@ParametroInt", Op); Parametros[3] = new SqlParameter("@ParametroNuemric", IdBuscar); DS = LlenarGrid.Datos("SpConsulta_Tablas", Parametros); if (TipoFiltro > 0) { dt = DS.Tables[0].Clone(); dt.Merge(DS.Tables[0]); dtrow = dt.Select("Rol=" + TipoFiltro); DS.Tables[0].Clear(); for (int i = 0; i < dtrow.Length; i++) { DS.Tables[0].ImportRow(dtrow[i]); } } dataGridViewConsulta.DataSource = DS; dataGridViewConsulta.DataMember = "Result"; dataGridViewConsulta.AutoResizeColumns(); break; case 3: FindEntities = new List_CamposRDB(); Parametros = new SqlParameter[4]; if (!String.IsNullOrEmpty(TxbConsulta.Text)) { this.codeFilter = TxbConsulta.Text; } Parametros[0] = new SqlParameter("@Op", "LlenarGrid"); Parametros[1] = new SqlParameter("@ParametroChar", this.codeFilter); Parametros[2] = new SqlParameter("@ParametroInt", 27); Parametros[3] = new SqlParameter("@ParametroNuemric", 1); DS = LlenarGrid.Datos("SpConsulta_Tablas", Parametros); if (TipoFiltro > 0) { dt = DS.Tables[0].Clone(); dt.Merge(DS.Tables[0]); dtrow = dt.Select("Rol=" + TipoFiltro); DS.Tables[0].Clear(); for (int i = 0; i < dtrow.Length; i++) { DS.Tables[0].ImportRow(dtrow[i]); } } dataGridViewConsulta.DataSource = DS; dataGridViewConsulta.DataMember = "Result"; dataGridViewConsulta.AutoResizeColumns(); break; default: FindEntities = new List_CamposRDB(); Parametros = new SqlParameter[4]; IdBuscar = LlenarRDB.ConsultarIdRadioButton(GrbBuscar); Parametros[0] = new SqlParameter("@Op", "LlenarGrid"); Parametros[1] = new SqlParameter("@ParametroChar", this.TxbConsulta.Text.Trim()); Parametros[2] = new SqlParameter("@ParametroInt", Op); Parametros[3] = new SqlParameter("@ParametroNuemric", IdBuscar); DS = LlenarGrid.Datos("SpConsulta_Tablas", Parametros); if (DS.Tables[0].Rows.Count == 0) { Parametros = new SqlParameter[4]; Parametros[0] = new SqlParameter("@Op", "LlenarGrid"); Parametros[1] = new SqlParameter("@ParametroChar", this.TxbConsulta.Text.Trim()); Parametros[2] = new SqlParameter("@ParametroInt", 27); Parametros[3] = new SqlParameter("@ParametroNuemric", IdBuscar); DS = new DataSet(); DS = LlenarGrid.Datos("SpConsulta_Tablas", Parametros); } dataGridViewConsulta.DataSource = DS; dataGridViewConsulta.DataMember = "Result"; dataGridViewConsulta.AutoResizeColumns(); break; } } catch (Exception Exc) { MessageBox.Show("OCURRIÓ UN ERROR AL CONSULTAR O CARGAR LOS DATOS..: \n\n" + Exc.Message, "Error del Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error); } }