public SaveStandardTeamResultProcessorFactory(
     ICareerPlayerStatisticsProcessor careerPlayerStatisticsProcessor, ICareerTeamStatisticsProcessor careerTeamStatisticsProcessor, ICompetitionPlayerStatisticsProcessor competitionPlayerStatisticsProcessor,
     IFixtureCalculationProcessor fixtureCalculationProcessor, IHandicapCalculationEngineProcessor handicapCalculationEngineProcessor, IParseGamesProcessor parseGamesProcessor,
     IUpdateCompetitionPlayerMeritTableProcessor updateCompetitionPlayerMeritTableProcessor, IUpdateLeaguePlayerMeritTableProcessor updateLeaguePlayerMeritTableProcessor, IUpdateLeagueTableProcessor updateLeagueTableProcessor,
     IValidateMatchStatusProcessor validateMatchStatusProcessor, IMatchSetNoWalkoverProcessor matchSetNoWalkoverProcessor, IOmitGamesFromSaveProcessor omitGamesFromSaveProcessor, IMatchCalculationProcessor matchCalculationProcessor,
     IMatchResultValidatorProcessor matchResultValidatorProcessor, IRuleProcessor ruleProcessor, IValidateGameResultsProcessor validateGameResultsProcessor, IPendingFixtureProcessor pendingFixtureProcessor)
 {
     this._careerPlayerStatisticsProcessor      = careerPlayerStatisticsProcessor;
     this._careerTeamStatisticsProcessor        = careerTeamStatisticsProcessor;
     this._competitionPlayerStatisticsProcessor = competitionPlayerStatisticsProcessor;
     this._fixtureCalculationProcessor          = fixtureCalculationProcessor;
     this._handicapCalculationEngineProcessor   = handicapCalculationEngineProcessor;
     this._parseGamesProcessor = parseGamesProcessor;
     this._updateCompetitionPlayerMeritTableProcessor = updateCompetitionPlayerMeritTableProcessor;
     this._updateLeaguePlayerMeritTableProcessor      = updateLeaguePlayerMeritTableProcessor;
     this._updateLeagueTableProcessor    = updateLeagueTableProcessor;
     this._validateMatchStatusProcessor  = validateMatchStatusProcessor;
     this._matchSetNoWalkoverProcessor   = matchSetNoWalkoverProcessor;
     this._omitGamesFromSaveProcessor    = omitGamesFromSaveProcessor;
     this._matchCalculationProcessor     = matchCalculationProcessor;
     this._matchResultValidatorProcessor = matchResultValidatorProcessor;
     this._ruleProcessor = ruleProcessor;
     this._validateGameResultsProcessor = validateGameResultsProcessor;
     this._pendingFixtureProcessor      = pendingFixtureProcessor;
 }
예제 #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RuleEngine&lt;TSubject&gt;"/> class.
        /// </summary>
        /// <param name="ruleCollection"><see cref="IRuleCollection{TSubject}">Rule Collection</see> containing the list of rules that will be executed.</param>
        /// <param name="ruleProcessor"><see cref="IRuleProcessor">Rule Processor</see> to use to process each rule when executed.</param>
        public RuleEngine(IRuleCollection <TSubject> ruleCollection, IRuleProcessor ruleProcessor)
        {
            Check.IsNotNull(ruleCollection, "ruleCollection is required.");
            Check.IsNotNull(ruleProcessor, "ruleProcessor is required.");

            _ruleCollection = ruleCollection;
            _ruleProcessor  = ruleProcessor;
        }
예제 #3
0
 public TestRunner(ITestRepository testRepo, IRuleProcessor ruleProcessor, IStateProcessor stateProcessor, IValuesRepository valuesRepository, ILifetimeScope scope)
 {
     _testRepository   = testRepo;
     _ruleProcessor    = ruleProcessor;
     _stateProcessor   = stateProcessor;
     _valuesRepository = valuesRepository;
     _scope            = scope;
 }
예제 #4
0
 public ArgosRunner(IArgosRepository argosRepo, IEnumerable <IArgos> argos, IRuleProcessor ruleProcessor, IStateProcessor stateProcessor, ILifetimeScope scope)
 {
     _argos           = argos;
     _argosRepository = argosRepo;
     _ruleProcessor   = ruleProcessor;
     _stateProcessor  = stateProcessor;
     _scope           = scope;
 }
예제 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RuleInvoker" /> class.
 /// </summary>
 /// <param name="resolver">The dependency resolver.</param>
 /// <param name="evaluator">The evaluator.</param>
 /// <param name="processor">The processor.</param>
 /// <exception cref="System.ArgumentNullException">
 /// </exception>
 public RuleInvoker(IServiceResolver resolver, IRuleEvaluator evaluator, IRuleProcessor processor)
 {
     if (resolver == null)
     {
         throw new ArgumentNullException(nameof(resolver));
     }
     if (evaluator == null)
     {
         throw new ArgumentNullException(nameof(evaluator));
     }
     if (processor == null)
     {
         throw new ArgumentNullException(nameof(processor));
     }
     Resolver  = resolver;
     Evaluator = evaluator;
     Processor = processor;
 }
예제 #6
0
 public RepositoryGeneric(
     AlexiaContext context,
     IRuleProcessor <T> ruleProcessor,
     IEnumerable <IInsertAction <T> > insertActions,
     IEnumerable <IUpdateAction <T> > updateActions,
     IEnumerable <IDeleteAction <T> > deleteActions,
     IEnumerable <ITransformation <T> > transformations,
     IUnitOfWork unitOfWork
     )
 {
     Context         = context;
     RuleProcessor   = ruleProcessor;
     InsertActions   = insertActions;
     UpdateActions   = updateActions;
     DeleteActions   = deleteActions;
     Transformations = transformations;
     UnitOfWork      = unitOfWork;
 }
예제 #7
0
        public void Run(Email email)
        {
            foreach (Rule rule in _rules)
            {
                if (rule.Match(email))
                {
                    //process the handler

                    IRuleProcessor ruleProcessor = _factory.GetRuleProcessor(rule, _unitOfWork);
                    ruleProcessor.Run(email);

                    if (rule.TerminateIfMatch)
                    {
                        return;
                    }
                }
            }
        }
예제 #8
0
 public CommandProcessorWrapper(IRuleProcessor _ruleProcessor, ICommandFactory _cmdFactory)
     : base(_ruleProcessor, _cmdFactory)
 {
 }
예제 #9
0
 public SheetCreator(IWorkSheetDataWriter sheetWriter, IAssetLoader loader, IRuleProcessor processor)
 {
     workSheetDataWriter = sheetWriter;
     assetLoader         = loader;
     ruleProcessor       = processor;
 }
예제 #10
0
 public IRuleProcessorResult <T> ProcessAll <T>(IEnumerable <Rules.RuleModule.RuleModule> rootRuleModules, T entity, IRuleProcessor ruleProcessor = null)
 {
     ruleProcessor = ruleProcessor ?? this.CreateRuleProcessor();
     return(ruleProcessor.ProcessMany(rootRuleModules, entity));
 }
 public RuleModuleTestService(IBooleanRuleCompiler booleanRuleCompiler, IActionRuleCompiler actionRuleCompiler, IUnitOfWork unitOfWork, IRuleModuleService ruleModuleService)
 {
     ruleProcessor           = new RuleProcessor(booleanRuleCompiler, actionRuleCompiler);
     this.unitOfWork         = unitOfWork;
     this._ruleModuleService = ruleModuleService;
 }
예제 #12
0
 public JourneyComponent(IRuleProcessor ruleProcessor, IJouneryStoreProvider jouneryStoreProvider)
 {
     _ruleProcessor        = ruleProcessor;
     _jouneryStoreProvider = jouneryStoreProvider;
 }
예제 #13
0
 public CommandProcessor(IRuleProcessor _ruleProcessor, ICommandFactory _cmdFactory)
 {
     ruleProcessor = _ruleProcessor;
     cmdFactory    = _cmdFactory;
 }
예제 #14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Validator"/> class.
 /// </summary>
 /// <param name="files">The files.</param>
 /// <param name="ruleProcessor">The rule processor.</param>
 public Validator(IOptionsMonitor <FilesOptions> files, IRuleProcessor ruleProcessor)
 {
     filesOptions = files.CurrentValue;
     columnsList  = filesOptions.Columns;
     rulesList    = ruleProcessor.GetRules();
 }