Exemplo n.º 1
0
        public void SetDynamicCheckActions(IEnumerable <DynamicCheckAction> actions, bool replaceExist = true)
        {
            if (actions == null)
            {
                return;
            }

            foreach (var action in actions)
            {
                var theOne = DynamicCheckActions.FirstOrDefault(x =>
                                                                x.ActionId.MyEquals(action.ActionId) &&
                                                                x.PermissionId.MyEquals(action.PermissionId));

                if (theOne == null)
                {
                    DynamicCheckActions.Add(action);
                }
                else
                {
                    if (replaceExist)
                    {
                        theOne.PermissionId = action.PermissionId;
                        theOne.ActionId     = action.ActionId;
                        theOne.ActionName   = action.ActionName;
                    }
                }
            }
        }
Exemplo n.º 2
0
        public IList <string> TryGetPermissionIdsByActionId(string actionId)
        {
            if (CachedActionRules.TryGetValue(actionId, out var rules))
            {
                return(rules);
            }

            rules = new List <string>();
            var permissionIds = DynamicCheckActions.Where(x => x.ActionId.MyEquals(actionId)).Select(x => x.PermissionId).ToList();

            foreach (var permissionId in permissionIds)
            {
                rules.Add(permissionId);
            }

            CachedActionRules[actionId] = rules;
            return(rules);
        }