public void Add(StrategyRuleResult rule) { Rules.Add(rule); var totalValid = Rules.Count(r => r.Valid) * 1.0; Progress = (int)(totalValid / Rules.Count * 100); }
public StrategyRuleSetResult(StrategyRuleResult rule) { Name = rule.RuleSetName; RuleSetId = rule.RuleSetId; Rules = new List <StrategyRuleResult>(); Add(rule); }
public List <StrategyRuleSetResult> Calculate() { var result = new List <StrategyRuleSetResult>(); foreach (var rule in _rules) { var firstValue = GetFirstValue(rule); var secondValue = GetSecondValue(rule); var ruleResult = new StrategyRuleResult(rule); ruleResult.Compare(firstValue, secondValue); var ruleSet = result.FirstOrDefault(r => r.RuleSetId == ruleResult.RuleSetId); if (ruleSet == null) { result.Add(new StrategyRuleSetResult(ruleResult)); } else { ruleSet.Add(ruleResult); } } return(result); }