コード例 #1
0
        /// <summary>
        /// Used to execute async rules.
        /// </summary>
        /// <returns></returns>
        public async Task <IEnumerable <IRuleResult> > ExecuteAsync()
        {
            if (!_rules.Any())
            {
                return(Enumerable.Empty <IRuleResult>().ToArray());
            }

            var rules = await new BootstrapService <T>(_model, _ruleEngineId, _dependencyResolver)
                        .BootstrapAsync(_rules);

            _asyncRuleService = new AsyncRuleService <T>(rules, _ruleEngineConfiguration);

            await _asyncRuleService.InvokeAsync();

            return(await _asyncRuleService.GetAsyncRuleResultsAsync());
        }