private List <CusMenuAttribute> GetMenuFromList() { List <CusMenuAttribute> cusMenus = new List <CusMenuAttribute>(); var user = AuthenticationExtends.CurrentUser; if (user != null && user.Role != null) { var data = MenuExtends.GetMenu().Where(o => o.Type == "Sys" && o.IsShow == true).ToList(); if (HttpContext.User.IsInRole("administrator")) { return(data); } if (data != null) { int _count = data.Count; for (int i = 0; i < _count; i++) { var item = data[i]; var role = _sysAccess.GetPermisstion(item.CModule, user.RoleID); if (role != null) { if (role.Where(o => o.Activity == true) != null) { cusMenus.Add(item); } } } } } return(cusMenus); }
public async Task <IActionResult> Delete(RolesModel model) { Message messageSuccess = new Message(); Message messageError = new Message(); Message messageWarning = new Message(); string msg = ""; string type = "success"; int delete = 0; if (string.IsNullOrEmpty(model.ArrID)) { msg = "Dữ liệu trống"; type = "danger"; } else { var arr = model.ArrID.Split(',').Select(int.Parse).ToList(); int arrCount = arr != null ? arr.Count : 0; for (int i = 0; i < arrCount; i++) { int id = arr[i]; var item = _sysRoles.GetItemByID(id); if (item != null && item.Lock == false) { var Accs = _sysAccess.GetPermisstion(item.ID); for (int x = 0; Accs != null && x < Accs.Count; x++) { await _sysAccess.RemoveItemAsync(Accs[x]); } await _sysRoles.RemoveItemAsync(item); delete++; msg = "đã xóa"; } else { msg += "đối tượng không thuộc quyền hạn của bạn"; type = "warning"; } } } Message message = new Message() { Content = msg, Number = delete, Type = type }; CacheExtends.SetObjectFromCache(_keyCache + "delete", 240, message); return(RedirectToAction("Index", "Roles")); }