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)); } }
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)); }
public RuleTreeException(string message, Exception innerException, RuleTreeSeed failedTree, RuleTreeReport failedReport = null) : base(message, innerException) { FailedRuleTree = failedTree; FailedRuleTreeReport = failedReport; }
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; }