/// <summary> /// Execute order rules from less importatn to the most important rule. /// Using Chain of Responsibility design pattern /// </summary> /// <param name="teamsStats"></param> private void ExecuteOrderRules(ref ICollection<TeamInTableViewModel> teamsStats) { OrderRuleHandler h1 = new DirectMatchRuleHandler(); OrderRuleHandler h2 = new PointsRuleHandler(); OrderRuleHandler h3 = new SetsRatioRuleHandler(); OrderRuleHandler h4 = new SmallPointsRuleHandler(); OrderRuleHandler h5 = new WinGamesRuleHandler(); h1.SetSuccessor(h2); h2.SetSuccessor(h3); h3.SetSuccessor(h4); h4.SetSuccessor(h5); foreach (var orderRule in tableOrderRules) { h1.Handle(orderRule, ref teamsStats); } }
/// <summary> /// Execute order rules from less importatn to the most important rule. /// Using Chain of Responsibility design pattern /// </summary> /// <param name="teamsStats"></param> private void ExecuteOrderRules(ref ICollection <TeamInTableViewModel> teamsStats) { OrderRuleHandler h1 = new DirectMatchRuleHandler(); OrderRuleHandler h2 = new PointsRuleHandler(); OrderRuleHandler h3 = new SetsRatioRuleHandler(); OrderRuleHandler h4 = new SmallPointsRuleHandler(); OrderRuleHandler h5 = new WinGamesRuleHandler(); h1.SetSuccessor(h2); h2.SetSuccessor(h3); h3.SetSuccessor(h4); h4.SetSuccessor(h5); foreach (var orderRule in tableOrderRules) { h1.Handle(orderRule, ref teamsStats); } }