예제 #1
0
        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);
        }
예제 #2
0
        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"));
        }