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