/// <summary> /// Checks if a given detail record of a personalisation group definition matches the current site visitor. /// </summary> /// <param name="definitionDetail">Personalisation group definition detail record</param> /// <returns>True of the current site visitor matches the definition</returns> private bool IsMatch(PersonalisationGroupDefinitionDetail definitionDetail) { var criterium = _criteriaService.GetAvailableCriteria().SingleOrDefault(x => string.Equals(x.Alias, definitionDetail.Alias, StringComparison.InvariantCultureIgnoreCase)); if (criterium == null) { throw new KeyNotFoundException($"Personalisation group criteria not found with alias '{definitionDetail.Alias}'"); } return(criterium.MatchesVisitor(definitionDetail.Definition)); }
public IActionResult Index() { var criteria = _criteriaService.GetAvailableCriteria(); return(new OkObjectResult(criteria)); }