Ejemplo n.º 1
0
        public CalculationPointPersistanceHolder CalculateIndices(Calculation calculation, Policy policy, Period period, Employee employee, IEventPublisher publisher, CalculatorSession calculationSession)
        {
            CalculationPointPersistanceHolder pointsHolder;

            using (var transaction = new TransactionScope())
            {
                var provider = calculationDataProviderFactory.Create();
                try
                {
                    pointsHolder = policy.CalculateFor(DateTime.Now, employee, period, calculation, provider, publisher, calculationSession);
                }
                finally
                {
                    calculationDataProviderFactory.Release(provider);
                }
                transaction.Complete();
            }
            return(pointsHolder);
        }