public bool IsEnabled(Dictionary <string, string> parameters, UnleashContext context = null) { var sessionId = context?.SessionId; if (sessionId == null || sessionId == string.Empty) { return(false); } if (!(parameters.ContainsKey(Percentage) && parameters.ContainsKey(GroupId))) { return(false); } var percentageString = parameters[Percentage]; var percentage = StrategyUtils.GetPercentage(percentageString); var groupId = parameters[GroupId] ?? string.Empty; var normalizedSessionId = StrategyUtils.GetNormalizedNumber(sessionId, groupId); return(percentage > 0 && normalizedSessionId <= percentage); }
public bool IsEnabled(Dictionary <string, string> parameters, UnleashContext context) { var stickiness = GetStickiness(parameters); var stickinessId = ResolveStickiness(stickiness, context); var percentage = StrategyUtils.GetPercentage(parameters.TryGetValue(Percentage, out var percentageString) ? percentageString : null); parameters.TryGetValue(GroupId, out var groupId); if (string.IsNullOrEmpty(groupId)) { groupId = ""; } if (!string.IsNullOrEmpty(stickinessId)) { var normalizedUserId = StrategyUtils.GetNormalizedNumber(stickinessId, groupId); return(percentage > 0 && normalizedUserId <= percentage); } else { return(false); } }