public TaxParcel Calculate(FamilyAggregate aggregateInfo, float amount) { var collectableAmount = aggregateInfo.AnualGain + amount - aggregateInfo.SpecificDeductions; return(new TaxParcel { Name = "Rendimento Colectável", Amount = collectableAmount }); }
public TaxParcel Calculate(float income, FamilyAggregate aggregateInfo) { var individualIncome = income / aggregateInfo.FamilyCoeficient; var range = this.ranges.Single(i => i.IsInRange(individualIncome)); var taxedIncome = range.Tax * individualIncome / 100; var tableIncome = range.TaxValue; var taxableIncome = (taxedIncome - range.TaxValue) * aggregateInfo.FamilyCoeficient; return(new TaxParcel { Name = "Importância Liquida", Amount = taxableIncome - aggregateInfo.TaxDeductions }); }
public void Add(FamilyAggregate familyAggregate) { this.familyAggregate.Add(familyAggregate); }
public ITaxFileBuilder With(FamilyAggregate familyAggregate) { this.AggregateInfo = familyAggregate; return(this); }