public void Should_Return_Valid_Result_Stream()
        {
            WorkRelationTerms TEST_CONTRACT_TYPE = WorkRelationTerms.WORKTERM_EMPLOYMENT_1;

            WorkHealthTerms TEST_HEALTH_TYPE = WorkHealthTerms.HEALTH_TERM_EMPLOYMENT;

            WorkSocialTerms TEST_SOCIAL_TYPE = WorkSocialTerms.SOCIAL_TERM_EMPLOYMENT;

            ITargetValues contractValues = TargetValueBuilder.CreateContractEmplTermValues(
                TEST_CONTRACT_TYPE, TEST_HEALTH_TYPE, TEST_SOCIAL_TYPE, null, null);

            ITargetValues positionValues = TargetValueBuilder.CreatePositionEmplTermValues(null, null);

            ITargetValues positionSalary = TargetValueBuilder.CreateSalaryBaseValues(10000m);

            ITargetValues emptyValues = TargetValueBuilder.CreateEmptyValues();

            ITargetStream targets = TargetStream.CreateEmptyStream().
                                    AddNewContractsTarget(ConfigSetCzArticleName.REF_CONTRACT_EMPL_TERM, contractValues, testConfig).
                                    AddNewPositionsTarget(ConfigSetCzArticleName.REF_POSITION_EMPL_TERM, positionValues, testConfig).
                                    AddTargetIntoPosition(ConfigSetCzArticleName.REF_SALARY_BASE, positionSalary, testConfig).
                                    AddTargetIntoPosition(ConfigSetCzArticleName.REF_INCOME_GROSS, emptyValues, testConfig);

            IEngineProfile testProfile = testEngine.BuildEngineProfile(testPeriod);

            IProcessService testModule = ProcessServiceModule.CreateModule(targets, testConfig, testProfile, serviceLog);

            IResultStream results = testModule.EvaluateTargetsToResults();

            serviceLog.CloseLogStream();

            Assert.AreEqual(0, results.Results().Keys.Count);
        }
Example #2
0
        public IResultStream EvaluateToResultStream(IProcessConfig config, IEngineProfile engine)
        {
            var targets = __targets;

            var results = ResultsStreamBuilder.EvaluateTargetsToResults(targets, config, engine);

            return(results);
        }
Example #3
0
 public virtual IBookResult[] CallEvaluate(IProcessConfig config, IEngineProfile engine,
                                           IPayrollArticle article, IBookIndex element, ITargetValues values, IResultStream results)
 {
     if (__evaluate != null)
     {
         return(__evaluate(this, config, engine, article, element, values, results));
     }
     return(GeneralModule.EMPTY_RESULT_LIST);
 }
Example #4
0
        private ProcessServiceModule(ITargetStream targets, IProcessConfig configModule, IEngineProfile engineModule, IProcessServiceLogger logger)
        {
            Targets = targets;

            ConfigModule = configModule;

            EngineModule = engineModule;

            Logger = logger;
        }
Example #5
0
 public IBookResult[] Evaluate(IProcessConfig config, IEngineProfile engine, IResultStream results)
 {
     return(__concept.CallEvaluate(config, engine, __article, __element, __values, results));
 }
Example #6
0
 public override IBookResult[] CallEvaluate(IProcessConfig config, IEngineProfile engine,
                                            IPayrollArticle article, IBookIndex element, ITargetValues values, IResultStream results)
 {
     return(GeneralModule.EMPTY_RESULT_LIST);
 }
Example #7
0
            private static IResultStream EvaluateTarget(
                IResultStream resultStream, IBookTarget target, IProcessConfig config, IEngineProfile engine)
            {
                var targetResults = target.Evaluate(config, engine, resultStream);

                var results = resultStream.AggregateResultList(targetResults);

                return(results);
            }
Example #8
0
            public static IResultStream EvaluateTargetsToResults(IDictionary <IBookIndex, IBookTarget> targets, IProcessConfig config, IEngineProfile engine)
            {
                IResultStream emptyResults = ResultStream.CreateEmptyStream();

                var results = targets.Aggregate(emptyResults,
                                                (agr, target) => EvaluateTarget(agr, target.Value, config, engine));

                return(results);
            }
Example #9
0
        public static IProcessService CreateModule(ITargetStream targets, IProcessConfig configModule, IEngineProfile engineModule, IProcessServiceLogger logger)
        {
            IProcessService module = new ProcessServiceModule(targets, configModule, engineModule, logger);

            return(module);
        }