public void AddMenuRoles(MenusRoles menuRol) { try { using (var context = new QuirofanoEntities()) { context.MenusRoles.AddObject(menuRol); context.SaveChanges(); } } catch (Exception ex) { if (ex.InnerException.Message.Contains("23505")) throw new Exception("Error: no puede asignar dos menu con el mismo rol."); } }
protected void btnAddRolesMenus_Click(object sender, EventArgs e) { try { var user = (Users)Session["UserLogged"]; new Admin().DeleteMenuRoles(int.Parse(this.ddlRol.SelectedValue)); foreach (GridViewRow item in this.gvRolesMenus.Rows) { Int32 menuId; Int32.TryParse(item.Cells[(int)ColumnasRolesMenus.MenuId].Text, out menuId); var chk = (CheckBox)item.FindControl("chk"); if (menuId != 0 && chk != null) { if (chk.Checked) { var oMR = new MenusRoles(); oMR.RolId = int.Parse(this.ddlRol.SelectedValue); oMR.MenuId = int.Parse(item.Cells[(int)ColumnasRolesMenus.MenuId].Text); new Admin().AddMenuRoles(oMR); } } } Session["Menu"] = new Admin().Menus(user.RolId); (this.Master as SiteMaster).GenerarMenuPadre(); this.FillGridRolesMenus(); } catch (Exception ex) { this.lblErrorRolesMenus.Text = ex.Message; } }