public Tax(string code, decimal rate, TaxBasisType basistype, bool isPriceIncl, decimal factor, string formula, TaxCalculationContext context) { TaxCode = code; TaxRate = rate; TaxBasisType = basistype; IsPriceInclTax = isPriceIncl; Factor = factor; CalculationFormula = formula; context.Taxs[TaxCode] = this; Context = context; Calculation = this.CreateTaxBasisCalculation(TaxBasisType); }
public ITaxBasisCalculation CreateTaxBasisCalculation(TaxBasisType basistype) { switch (basistype) { case TaxBasisType.Line: return new LineTaxBasisCalculation(this, this.Context); case TaxBasisType.Asses: return new AssesTaxBasisCalculation(this, this.Context); case TaxBasisType.EXLine: return new EXLineTaxBasisCalculation(this, this.Context); case TaxBasisType.MRP: return new MRPTaxBasisCalculation(this, this.Context); } return null; }
public Tax(string code, decimal rate, TaxBasisType basistype, bool isPriceIncl, decimal factor, TaxCalculationContext context) : this(code, rate, basistype, isPriceIncl, factor, string.Empty, context) { }
public Tax(string code, decimal rate, TaxBasisType basistype, bool priceincltax, string formula, decimal abatementrate, TaxGroup tg) { Tax_Code = code; Tax_Rate = rate; Tax_Basis_Type = basistype; PriceInclTax = priceincltax; taxgroup = tg; FormulaItems = new List<Tuple<CalcOperator, CalcElem, string>>(); CalcFormula = formula; CalculationStatus = Status.NotStart; Abatement_Rate = abatementrate; tg.Taxes[code] = this; if (basistype == TaxBasisType.MRP) tg.TurnOnMRP(); }