//Add menu to Role public ActionResult UserAddMenu(string id) { ApplicationDbContext db = new ApplicationDbContext(); var _menu = new List <MenuItem>(); if (User.Identity.Name.ToUpper() == "ADMIN") { _menu = db.Database.SqlQuery <MenuItem>(@"select * from MenuItems where isMenu=1 and isDisplay=1").ToList(); } else { _menu = db.MenuItems.Where(m => m.isMenu == true && m.isDisplay == true).ToList(); } string _UserId = db.Users.FirstOrDefault(u => u.UserName == id).Id; var _menuinUser = db.MenuItemUsers.Where(m => m.User_ID == _UserId).ToList(); List <RoleAddMenuViewModel> _lstViewMenu = new List <RoleAddMenuViewModel>(); foreach (var item1 in _menu) { RoleAddMenuViewModel _itemView = new RoleAddMenuViewModel(item1); foreach (var item2 in _menuinUser) { if (item2.MenuItem_ID == item1.Item_ID) { _itemView._checked = "checked"; _itemView.isCheck = true; } else { _itemView.isCheck = false; } } _lstViewMenu.Add(_itemView); } //Session["_menu"] = _lstViewMenu; RoleAddMenuViewModel root = new RoleAddMenuViewModel(); root.Item_ID = "0"; root.Item_name = "Đây là root node"; _lstViewMenu.Add(root); var tree = _lstViewMenu.ToTree(); ViewBag.UserName = id; ViewBag.UserId = _UserId; return(View(tree)); }
public ActionResult RoleAddMenu(FormCollection _form) { string RoleName = _form["RoleName"]; //lấy danh sách ID: List <string> lstID = new List <string>(); foreach (var _key in _form.AllKeys) { if (_key.StartsWith("chk_")) { string sID = _form[_key].Split('_')[0]; string spID = _form[_key].Split('_')[1]; lstID.Add(sID); lstID.Add(spID); } } List <string> lstIDDistinct = lstID.Distinct().ToList(); List <string> lstItemisNotMenu = _db.Database.SqlQuery <MenuItem>(@"select * from MenuItems where isMenu=0").Select(m => m.Item_ID).ToList <string>(); lstIDDistinct.AddRange(lstItemisNotMenu); //add Menu to Role: ApplicationDbContext db = new ApplicationDbContext(); //Xóa nMenu cũ: db.MenuItemRoles.Where(o => o.Role_ID == RoleName).ToList().ForEach(o => db.MenuItemRoles.Remove(o)); string _MaTTP = db.Users.FirstOrDefault(u => u.UserName == User.Identity.Name).MA_TINHTP; foreach (var item in lstIDDistinct) { db.MenuItemRoles.Add(new MenuItemRole() { MenuItem_ID = item, Role_ID = RoleName, Ma_TTP = _MaTTP }); } db.SaveChanges(); var _menu = db.Database.SqlQuery <MenuItem>(@"select distinct e.* from AspNetRoles a inner join ApplicationRoleGroups b on a.Id=b.RoleId inner join MenuItemRoles c on a.Name=c.Role_ID inner join ApplicationUserGroups d on b.GroupId=d.GroupId inner join MenuItems e on c.MenuItem_ID=e.Item_ID inner join AspNetUsers f on d.UserId=f.Id where f.UserName=@UserName and e.isMenu=1" , new SqlParameter("@UserName", User.Identity.Name)); var _menuinRole = db.MenuItemRoles.Where(m => m.Role_ID == RoleName).ToList(); List <RoleAddMenuViewModel> _lstViewMenu = new List <RoleAddMenuViewModel>(); foreach (var item1 in _menu) { RoleAddMenuViewModel _itemView = new RoleAddMenuViewModel(item1); foreach (var item2 in _menuinRole) { if (item2.MenuItem_ID == item1.Item_ID) { _itemView._checked = "checked"; _itemView.isCheck = true; } else { _itemView.isCheck = false; } } _lstViewMenu.Add(_itemView); } RoleAddMenuViewModel root = new RoleAddMenuViewModel(); root.Item_ID = "0"; root.Item_name = "Đây là root node"; _lstViewMenu.Add(root); var tree = _lstViewMenu.ToTree(); return(View(tree)); }
//Add menu to Role public ActionResult RoleAddMenu(string id) { ViewBag.RoleName = id; ApplicationDbContext db = new ApplicationDbContext(); var _menu = new List <MenuItem>(); if (User.Identity.Name.ToUpper() == "ADMIN") { _menu = db.Database.SqlQuery <MenuItem>(@"select * from MenuItems where isMenu=1 ").ToList(); } else { _menu = db.Database.SqlQuery <MenuItem>(@"select distinct e.* from AspNetRoles a inner join ApplicationRoleGroups b on a.Id=b.RoleId inner join MenuItemRoles c on a.Name=c.Role_ID inner join ApplicationUserGroups d on b.GroupId=d.GroupId inner join MenuItems e on c.MenuItem_ID=e.Item_ID inner join AspNetUsers f on d.UserId=f.Id where UserName=@UserName and e.isMenu=1" , new SqlParameter("@UserName", User.Identity.Name) ).ToList(); } var _menuinRole = db.MenuItemRoles.Where(m => m.Role_ID == id).ToList(); List <RoleAddMenuViewModel> _lstViewMenu = new List <RoleAddMenuViewModel>(); foreach (var item1 in _menu) { RoleAddMenuViewModel _itemView = new RoleAddMenuViewModel(item1); foreach (var item2 in _menuinRole) { if (item2.MenuItem_ID == item1.Item_ID) { _itemView._checked = "checked"; _itemView.isCheck = true; } else { _itemView.isCheck = false; } } _lstViewMenu.Add(_itemView); } Session["_menu"] = _lstViewMenu; RoleAddMenuViewModel root = new RoleAddMenuViewModel(); root.Item_ID = "0"; root.Item_name = "Đây là root node"; _lstViewMenu.Add(root); var tree = _lstViewMenu.ToTree(); return(View(tree)); }
public ActionResult UserAddMenu(FormCollection _form) { ViewBag.SuccessUser = ""; string UserName = _form["UserName"]; string _UserId = _form["UserId"].ToString(); //lấy danh sách ID: List <string> lstID = new List <string>(); foreach (var _key in _form.AllKeys) { if (_key.StartsWith("chk_")) { string sID = _form[_key].Split('_')[0]; string spID = _form[_key].Split('_')[1]; lstID.Add(sID); lstID.Add(spID); } } ApplicationDbContext db = new ApplicationDbContext(); List <string> lstIDDistinct = lstID.Distinct().ToList(); List <string> lstItemisNotMenu = db.Database.SqlQuery <MenuItem>(@"select * from MenuItems where isMenu=0").Select(m => m.Item_ID).ToList <string>(); lstIDDistinct.AddRange(lstItemisNotMenu); //add Menu to Role: //Xóa nMenu cũ: try { db.MenuItemUsers.Where(o => o.User_ID == _UserId).ToList().ForEach(o => db.MenuItemUsers.Remove(o)); string _MaTTP = db.Users.FirstOrDefault(u => u.UserName == User.Identity.Name).MA_TINHTP; foreach (var item in lstIDDistinct) { db.MenuItemUsers.Add(new MenuItemUser() { MenuItem_ID = item, User_ID = _UserId, Ma_TTP = _MaTTP }); } db.SaveChanges(); } catch (DbEntityValidationException e) { var str1 = ""; var str = ""; foreach (var eve in e.EntityValidationErrors) { str = String.Format("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { str1 += String.Format("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } ViewBag.Error = str + str1; } finally { } var _menu = db.MenuItems.Where(m => m.isMenu == true).ToList(); var _menuinUser = db.MenuItemUsers.Where(m => m.User_ID == _UserId).ToList(); List <RoleAddMenuViewModel> _lstViewMenu = new List <RoleAddMenuViewModel>(); foreach (var item1 in _menu) { RoleAddMenuViewModel _itemView = new RoleAddMenuViewModel(item1); foreach (var item2 in _menuinUser) { if (item2.MenuItem_ID == item1.Item_ID) { _itemView._checked = "checked"; _itemView.isCheck = true; } else { _itemView.isCheck = false; } } _lstViewMenu.Add(_itemView); } //Session["_menu"] = _lstViewMenu; RoleAddMenuViewModel root = new RoleAddMenuViewModel(); root.Item_ID = "0"; root.Item_name = "Đây là root node"; _lstViewMenu.Add(root); var tree = _lstViewMenu.ToTree(); ViewBag.UserName = UserName; ViewBag.UserId = _UserId.ToString(); ViewBag.SuccessUser = "******" + UserName + " thành công!"; return(View(tree)); }
public ActionResult GroupAddMenu(FormCollection _form) { ViewBag.SuccessGroup = ""; string GroupName = _form["GroupName"]; int _GroupId = int.Parse(_form["GroupId"].ToString()); //lấy danh sách ID: List <string> lstID = new List <string>(); foreach (var _key in _form.AllKeys) { if (_key.StartsWith("chk_")) { string sID = _form[_key].Split('_')[0]; string spID = _form[_key].Split('_')[1]; lstID.Add(sID); lstID.Add(spID); } } ApplicationDbContext db = new ApplicationDbContext(); List <string> lstIDDistinct = lstID.Distinct().ToList(); List <string> lstItemisNotMenu = db.Database.SqlQuery <MenuItem>(@"select * from MenuItems where isMenu=0").Select(m => m.Item_ID).ToList <string>(); lstIDDistinct.AddRange(lstItemisNotMenu); //add Menu to Role: //Xóa nMenu cũ: db.MenuItemGroups.Where(o => o.Group_ID == _GroupId).ToList().ForEach(o => db.MenuItemGroups.Remove(o)); string _MaTTP = db.Users.FirstOrDefault(u => u.UserName == User.Identity.Name).MA_TINHTP; foreach (var item in lstIDDistinct) { db.MenuItemGroups.Add(new MenuItemGroup() { MenuItem_ID = item, Group_ID = _GroupId, Ma_TTP = _MaTTP }); } db.SaveChanges(); // var _menu = db.Database.SqlQuery<MenuItem>(@"select distinct e.* from AspNetRoles a inner join ApplicationRoleGroups b // on a.Id=b.RoleId // inner join MenuItemRoles c // on a.Name=c.Role_ID // inner join ApplicationUserGroups d // on b.GroupId=d.GroupId // inner join MenuItems e // on c.MenuItem_ID=e.Item_ID // inner join AspNetUsers f // on d.UserId=f.Id // where f.UserName=@UserName and e.isMenu=1" // , new SqlParameter("@UserName", User.Identity.Name)); var _menu = db.MenuItems.Where(m => m.isMenu == true).ToList(); var _menuinGroup = db.MenuItemGroups.Where(m => m.Group_ID == _GroupId).ToList(); List <RoleAddMenuViewModel> _lstViewMenu = new List <RoleAddMenuViewModel>(); foreach (var item1 in _menu) { RoleAddMenuViewModel _itemView = new RoleAddMenuViewModel(item1); foreach (var item2 in _menuinGroup) { if (item2.MenuItem_ID == item1.Item_ID) { _itemView._checked = "checked"; _itemView.isCheck = true; } else { _itemView.isCheck = false; } } _lstViewMenu.Add(_itemView); } //Session["_menu"] = _lstViewMenu; RoleAddMenuViewModel root = new RoleAddMenuViewModel(); root.Item_ID = "0"; root.Item_name = "Đây là root node"; _lstViewMenu.Add(root); var tree = _lstViewMenu.ToTree(); ViewBag.GroupName = GroupName; ViewBag.GroupId = _GroupId.ToString(); ViewBag.SuccessGroup = "Phân quyền nhóm " + GroupName + " thành công!"; return(View(tree)); }
//Add menu to Role public ActionResult GroupAddMenu(string id) { ApplicationDbContext db = new ApplicationDbContext(); var _menu = new List <MenuItem>(); if (User.Identity.Name.ToUpper() == "ADMIN") { _menu = db.Database.SqlQuery <MenuItem>(@"select * from MenuItems where isMenu=1 and isDisplay=1 ").ToList(); } else { // _menu = db.Database.SqlQuery<MenuItem>(@"select distinct e.* from AspNetRoles a inner join ApplicationRoleGroups b // on a.Id=b.RoleId // inner join MenuItemRoles c // on a.Name=c.Role_ID // inner join ApplicationUserGroups d // on b.GroupId=d.GroupId // inner join MenuItems e // on c.MenuItem_ID=e.Item_ID // inner join AspNetUsers f // on d.UserId=f.Id // where UserName=@UserName and e.isMenu=1" // , new SqlParameter("@UserName", User.Identity.Name) // ).ToList(); _menu = db.MenuItems.Where(m => m.isMenu == true && m.isDisplay == true).ToList(); } int _groupId = int.Parse(id); var _menuinGroup = db.MenuItemGroups.Where(m => m.Group_ID == _groupId).ToList(); List <RoleAddMenuViewModel> _lstViewMenu = new List <RoleAddMenuViewModel>(); foreach (var item1 in _menu) { RoleAddMenuViewModel _itemView = new RoleAddMenuViewModel(item1); foreach (var item2 in _menuinGroup) { if (item2.MenuItem_ID == item1.Item_ID) { _itemView._checked = "checked"; _itemView.isCheck = true; } else { _itemView.isCheck = false; } } _lstViewMenu.Add(_itemView); } //Session["_menu"] = _lstViewMenu; RoleAddMenuViewModel root = new RoleAddMenuViewModel(); root.Item_ID = "0"; root.Item_name = "Đây là root node"; _lstViewMenu.Add(root); var tree = _lstViewMenu.ToTree(); ViewBag.GroupName = db.Groups.FirstOrDefault(g => g.Id == _groupId).Name; ViewBag.GroupId = _groupId.ToString(); return(View(tree)); }