public IActionResult GetCalculatedTax(int income, int zipCode)
        {
            TaxCalcResultErrorsAllowed result = null;

            result = taxCalculatorRepository.GetCalculatedTax(income, zipCode);

            if (result == null)
            {
                return(new EmptyResult());
            }

            return(new JsonResult(result));
        }
コード例 #2
0
        //Zips were gathered According to https://www.unitedstateszipcodes.org/ny/ using a
        //javascript scraper function that i pasted in the ZipCodes.cs file for you

        public TaxCalcResultErrorsAllowed GetCalculatedTax(int income, int zipCode)
        {
            TaxCalcResultErrorsAllowed result = new TaxCalcResultErrorsAllowed();

            try
            {
                string formula           = "";
                double value             = 0.0d;
                int    progressiveStatus = ProgressiveAndFlatZipCode(zipCode);

                //if progresssiveStatus > 0, the zipCode is in either New York, California, or Virginia
                if (progressiveStatus > 0)
                {
                    //if income > 40000, we do progressive tax
                    if (income > 40000)
                    {
                        formula = formulaOptions.ProgressiveTax;
                        value   = ProgressiveTaxCalculator(income);
                    }
                    else
                    {
                        //if income <= 40000, we do flat tax
                        formula = formulaOptions.FlatTax;
                        value   = FlatRate;
                    }
                }
                else
                {
                    formula = formulaOptions.FixedValue;
                    value   = FlatRate;
                }
                result.Formula = formula;
                result.Value   = value;
            }catch (Exception e) {
                result.Error = e.Message;
            }
            return(result);
        }