Ejemplo n.º 1
0
 public TaxService(
     ITaxStrategyFactory taxStrategyFactory,
     ITaxCalculationRepository taxCalculationRepository)
 {
     _taxStrategyFactory       = taxStrategyFactory ?? throw new System.ArgumentNullException(nameof(taxStrategyFactory));
     _taxCalculationRepository = taxCalculationRepository ?? throw new System.ArgumentNullException(nameof(taxCalculationRepository));
 }
Ejemplo n.º 2
0
 public TaxCalculationService(
     Func <TaxType, ITaxCalculation> taxCalculationResolver,
     ITaxCalculationRepository taxCalculationRepository,
     IPostalCodeTaxRepository postalCodeTaxRepository,
     ILogger <TaxCalculationService> logger)
 {
     _taxCalculationRepository = taxCalculationRepository;
     _postalCodeTaxRepository  = postalCodeTaxRepository;
     _taxCalculationResolver   = taxCalculationResolver;
     _logger = logger;
 }
Ejemplo n.º 3
0
        public TaxCalculationService(ITaxCalculationTypeRepository taxCalculationTypeRepository, ITaxCalculationRepository taxCalculationRepository)
        {
            _taxCalculationTypeRepository = taxCalculationTypeRepository;
            _taxCalculationRepository     = taxCalculationRepository;

            if (_taxCalculators.Count == 0)
            {
                _taxCalculators.Add(TaxCalcType.FlatRate, new FlatRateTaxCalclator());
                _taxCalculators.Add(TaxCalcType.FlatValue, new FlatValueTaxCalclator());
                _taxCalculators.Add(TaxCalcType.Progressive, new ProgressiveTaxCalclator());
            }
        }
Ejemplo n.º 4
0
 public TaxCalculatorManager(
     ITaxCalculationRepository calculationRepository,
     ITaxYearRepository taxYearRepository,
     IPostalCodeTaxCalculationMappingRepository calculationMappingRepository,
     IValidationRuleEngine <TaxCalculationRequest, TaxCalculationResponse> validationRuleEngine,
     ITaxCalculatorFactory taxCalculatorFactory,
     IClock clock)
 {
     _calculationRepository        = calculationRepository;
     _taxYearRepository            = taxYearRepository;
     _calculationMappingRepository = calculationMappingRepository;
     _validationRuleEngine         = validationRuleEngine;
     _taxCalculatorFactory         = taxCalculatorFactory;
     _clock = clock;
 }
Ejemplo n.º 5
0
 public TaxCalculatorFactory(ITaxCalculationRepository taxCalculationRepository)
 {
     _taxCalculationRepository = taxCalculationRepository;
 }
 public FlatValueTaxCalculator(ITaxCalculationRepository taxCalculationRepository)
 {
     _taxCalculationRepository = taxCalculationRepository;
 }
 public ProgressiveTaxCalculator(ITaxCalculationRepository taxCalculationRepository)
 {
     _taxCalculationRepository = taxCalculationRepository;
 }
 public TaxCalculationWorkflow(ITaxCalculationRepository taxCalculationRepository,
                               ITaxCalculatorFactory taxCalculatorFactory)
 {
     _taxCalculationRepository = taxCalculationRepository;
     _taxCalculatorFactory     = taxCalculatorFactory;
 }