public static Tax GenerateInstanceFromSituation(TaxSituation taxSituation) { Tax instance = null; switch (taxSituation) { case TaxSituation.Single: instance = new Tax(new SingleTax(), taxSituation); break; case TaxSituation.MarriedfilingJointlyorQualifyingWidow: instance = new Tax(new MFJOrQWTax(), taxSituation); break; case TaxSituation.MarriedFilingSeparately: instance = new Tax(new MFSTax(), taxSituation); break; case TaxSituation.HeadofHousehold: instance = new Tax(new HHTax(), taxSituation); break; } return(instance); }
public Tax(IRangeInfo rangeInfo, TaxSituation taxSitu) { ranges = new List <TaxRange>(); var rangesInfo = rangeInfo.Ranges; for (int i = 0; i < rangeInfo.RangesCount; i++) { ranges.Add(new TaxRange(rangesInfo[i, 0], rangesInfo[i, 1], rangesInfo[i, 2], rangesInfo[i, 3])); } taxSituation = taxSitu; }