Exemple #1
0
        public async Task <RuleTree> GetQuoteItemRuleTree()
        {
            var sBizRulesUrl = _rulesEngineInitializer.GetQuoteItemBizRulesFileUrl();

            RuleTreeSeed quoteItemTreeSeed =
                new RuleTreeSeed("QuoteItemTree", sBizRulesUrl, "default")
            {
                Id = 2
            };

            var RuleTreeIsCached = await _ruleTreeRepository.ContainsAsync(quoteItemTreeSeed.Id).ConfigureAwait(false);

            if (RuleTreeIsCached)
            {
                return(await _ruleTreeRepository.GetByIdAsync(quoteItemTreeSeed.Id).ConfigureAwait(false));
            }
            else
            {
                var DomainSeed = new RulesDomainSeed(new HashSet <Type>()
                {
                    typeof(Quote), typeof(QuoteItem)
                });

                return(await CreateRuleTreeAsync(new RulesDomain(DomainSeed), quoteItemTreeSeed).ConfigureAwait(false));
            }
        }
Exemple #2
0
        public async Task <RuleTree> CreateRuleTreeAsync(RulesDomain domain, RuleTreeSeed origin)
        {
            // TODO: Do all the work to help initialize the RuleTree

            var NewRuleTree = new RuleTree(origin);

            await _ruleTreeRepository.AddAsync(NewRuleTree).ConfigureAwait(false);

            return(new RuleTree(origin));
        }
Exemple #3
0
 public RuleTreeException(string message, Exception innerException, RuleTreeSeed failedTree, RuleTreeReport failedReport = null) : base(message, innerException)
 {
     FailedRuleTree       = failedTree;
     FailedRuleTreeReport = failedReport;
 }
Exemple #4
0
 public RuleTreeException(RuleTreeSeed failedTree, RuleTreeReport failedReport = null)
 {
     FailedRuleTree       = failedTree;
     FailedRuleTreeReport = failedReport;
 }
 public RuleTreeInitException(string message, Exception innerException, RuleTreeSeed failedTree = null) : base(message, innerException)
 {
     FailedRuleTree = failedTree;
 }