Exemple #1
0
            static public KeyValuePair <IBookIndex, IBookTarget> ComposeTarget(IBookParty party,
                                                                               SymbolName articleName, IBookIndex element, ITargetValues values, IProcessConfig config)
            {
                IBookTarget target = BuildTargetFromElement(element, values, config);

                return(new KeyValuePair <IBookIndex, IBookTarget>(element, target));
            }
Exemple #2
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);
            }
Exemple #3
0
            public static string LogArticleInfo(IBookTarget target)
            {
                IPayrollArticle article = target.Article();

                IBookIndex element = target.Element();

                string lineDefinition = string.Format("\n--- {0} - {1} - {2} - {3}",
                                                      article.ArticleName(), article.ConceptName(), article.ArticleCode(), element.ToString());

                return(lineDefinition);
            }
Exemple #4
0
        private static IBookParty[] GetPositionParties(IBookParty[] positionParties, IBookTarget targetToken)
        {
            IBookParty posotionParty = targetToken.GetPositionParty();

            if (posotionParty == null)
            {
                return(positionParties.ToArray());
            }
            var contractPartyArry = new IBookParty[] { posotionParty };

            return(positionParties.Concat(contractPartyArry).ToArray());
        }
Exemple #5
0
        private static IBookParty[] GetContractParties(IBookParty[] contractParties, IBookTarget targetToken)
        {
            IBookParty contractParty = targetToken.GetContractParty();

            if (contractParty == null)
            {
                return(contractParties.ToArray());
            }
            var contractPartyArry = new IBookParty[] { contractParty };

            return(contractParties.Concat(contractPartyArry).ToArray());
        }
Exemple #6
0
            static public IBookTarget BuildTargetFromElement(IBookIndex element, ITargetValues values, IProcessConfig config)
            {
                uint articleCode = element.Code();

                IPayrollArticle targetArticle = config.FindArticle(articleCode);

                IPayrollConcept targetConcept = config.FindConcept(targetArticle.ConceptCode());

                IBookTarget target = TargetFactory.BuildTargetWithValues(element, targetArticle, targetConcept, values);

                return(target);
            }
Exemple #7
0
            private static IPayrollArticle[] ConcatArticles(IPayrollArticle[] initialStream, IBookTarget target)
            {
                var relatedStream = target.Article().RelatedArticles();

                if (relatedStream == null)
                {
                    return(initialStream.ToArray());
                }
                return(initialStream.Concat(relatedStream).ToArray());
            }
Exemple #8
0
            public static IDictionary <IBookIndex, IBookTarget> MergeDictWithTargetPair(IDictionary <IBookIndex, IBookTarget> targets,
                                                                                        IBookIndex targetIndex, IBookTarget targetValue)
            {
                var mergedTargets = new Dictionary <IBookIndex, IBookTarget>(targets);

                if (!mergedTargets.ContainsKey(targetIndex))
                {
                    mergedTargets.Add(targetIndex, targetValue);
                }
                return(mergedTargets);
            }