protected void btnSave_Click(object sender, EventArgs e) { ROL rolSelected = Session["rolSelected"] as ROL; IMenus bdd = new BusinessLogic(); ROLMENU rolmenu = null; ROLMENU padre = null; List<ListItem> menusSelected = chkMenus.Items.ToList().Where(x => x.Selected == true).ToList(); List<ROLMENU> rolesToAdd = new List<ROLMENU>(); menusSelected.ForEach(listItem => { rolmenu = new ROLMENU { IDROLMENU = Guid.NewGuid(), IDROL = rolSelected.IDROL, IDMENU = new Guid(listItem.Value) }.MarkAsAdded(); padre = bdd.GetMenuPadre(rolmenu.IDMENU, rolSelected.IDROL); if(!rolesToAdd.Contains(padre)) rolesToAdd.Add(padre); rolesToAdd.Add(rolmenu); }); bdd.SaveRolMenu(rolesToAdd); Response.Redirect("~/ui/MantenimientoPerfiles.aspx"); }