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; } } } }
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); }